remove None overload for environment_dir

This commit is contained in:
Anthony Sottile 2023-01-01 19:20:40 -05:00
parent 017fa5c0b8
commit f0baffb01f
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)
)
) )