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 import re
from typing import Any from typing import Any
from typing import NoReturn from typing import NoReturn
from typing import overload
from typing import Sequence from typing import Sequence
import pre_commit.constants as C import pre_commit.constants as C
@ -48,17 +47,8 @@ def run_setup_cmd(prefix: Prefix, cmd: tuple[str, ...], **kwargs: Any) -> None:
cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs)
@overload def environment_dir(d: str, language_version: str) -> str:
def environment_dir(d: None, language_version: str) -> None: ... return f'{d}-{language_version}'
@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:
return f'{d}-{language_version}'
def assert_version_default(binary: str, version: str) -> None: def assert_version_default(binary: str, version: str) -> None:

View file

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