X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/pre_commit
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
pre_commit
/
ðŸ“
..
📄
__init__.py
(0 B)
📄
__main__.py
(127 B)
ðŸ“
__pycache__
📄
all_languages.py
(1.38 KB)
📄
clientlib.py
(14.92 KB)
📄
color.py
(3.14 KB)
ðŸ“
commands
📄
constants.py
(282 B)
📄
envcontext.py
(1.56 KB)
📄
error_handler.py
(2.56 KB)
📄
errors.py
(78 B)
📄
file_lock.py
(2.29 KB)
📄
git.py
(8.32 KB)
📄
hook.py
(1.48 KB)
📄
lang_base.py
(5.12 KB)
ðŸ“
languages
📄
logging_handler.py
(1019 B)
📄
main.py
(15.2 KB)
ðŸ“
meta_hooks
📄
output.py
(911 B)
📄
parse_shebang.py
(2.42 KB)
📄
prefix.py
(495 B)
📄
repository.py
(7.43 KB)
ðŸ“
resources
📄
staged_files_only.py
(4.06 KB)
📄
store.py
(9.17 KB)
📄
util.py
(6.87 KB)
📄
xargs.py
(5.41 KB)
📄
yaml.py
(561 B)
📄
yaml_rewrite.py
(1.31 KB)
Editing: envcontext.py
from __future__ import annotations import contextlib import enum import os from collections.abc import Generator from collections.abc import MutableMapping from typing import NamedTuple from typing import Union _Unset = enum.Enum('_Unset', 'UNSET') UNSET = _Unset.UNSET class Var(NamedTuple): name: str default: str = '' SubstitutionT = tuple[Union[str, Var], ...] ValueT = Union[str, _Unset, SubstitutionT] PatchesT = tuple[tuple[str, ValueT], ...] def format_env(parts: SubstitutionT, env: MutableMapping[str, str]) -> str: return ''.join( env.get(part.name, part.default) if isinstance(part, Var) else part for part in parts ) @contextlib.contextmanager def envcontext( patch: PatchesT, _env: MutableMapping[str, str] | None = None, ) -> Generator[None]: """In this context, `os.environ` is modified according to `patch`. `patch` is an iterable of 2-tuples (key, value): `key`: string `value`: - string: `environ[key] == value` inside the context. - UNSET: `key not in environ` inside the context. - template: A template is a tuple of strings and Var which will be replaced with the previous environment """ env = os.environ if _env is None else _env before = dict(env) for k, v in patch: if v is UNSET: env.pop(k, None) elif isinstance(v, tuple): env[k] = format_env(v, before) else: env[k] = v try: yield finally: env.clear() env.update(before)
Upload File
Create Folder