Merge pull request #2667 from pre-commit/env-dir-always-non-null

remove None overload for environment_dir
This commit is contained in:
Anthony Sottile 2023-01-01 19:52:48 -05:00 committed by GitHub
commit 0224be8194
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 19 deletions

View file

@ -6,7 +6,6 @@ import random
import re
from typing import Any
from typing import NoReturn
from typing import overload
from typing import Sequence
import pre_commit.constants as C
@ -48,16 +47,7 @@ def run_setup_cmd(prefix: Prefix, cmd: tuple[str, ...], **kwargs: Any) -> None:
cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs)
@overload
def environment_dir(d: None, language_version: str) -> None: ...
@overload
def environment_dir(d: str, language_version: str) -> str: ...
def environment_dir(d: str | None, language_version: str) -> str | None:
if d is None:
return None
else:
def environment_dir(d: str, language_version: str) -> str:
return f'{d}-{language_version}'

View file

@ -50,16 +50,17 @@ def _write_state(prefix: Prefix, venv: str, state: object) -> None:
def _hook_installed(hook: Hook) -> bool:
lang = languages[hook.language]
if lang.ENVIRONMENT_DIR is None:
return True
venv = environment_dir(lang.ENVIRONMENT_DIR, hook.language_version)
return (
venv is None or (
(
_read_state(hook.prefix, venv) ==
_state(hook.additional_dependencies)
) and
not lang.health_check(hook.prefix, hook.language_version)
)
)
def _hook_install(hook: Hook) -> None: