__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
from __future__ import annotations
import logging
from collections.abc import Sequence
from typing import Any
from typing import NamedTuple
from pre_commit.prefix import Prefix
logger = logging.getLogger('pre_commit')
class Hook(NamedTuple):
src: str
prefix: Prefix
id: str
name: str
entry: str
language: str
alias: str
files: str
exclude: str
types: Sequence[str]
types_or: Sequence[str]
exclude_types: Sequence[str]
additional_dependencies: Sequence[str]
args: Sequence[str]
always_run: bool
fail_fast: bool
pass_filenames: bool
description: str
language_version: str
log_file: str
minimum_pre_commit_version: str
require_serial: bool
stages: Sequence[str]
verbose: bool
@property
def install_key(self) -> tuple[Prefix, str, str, tuple[str, ...]]:
return (
self.prefix,
self.language,
self.language_version,
tuple(self.additional_dependencies),
)
@classmethod
def create(cls, src: str, prefix: Prefix, dct: dict[str, Any]) -> Hook:
# TODO: have cfgv do this (?)
extra_keys = set(dct) - _KEYS
if extra_keys:
logger.warning(
f'Unexpected key(s) present on {src} => {dct["id"]}: '
f'{", ".join(sorted(extra_keys))}',
)
return cls(src=src, prefix=prefix, **{k: dct[k] for k in _KEYS})
_KEYS = frozenset(set(Hook._fields) - {'src', 'prefix'})
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| commands | Folder | 0755 |
|
|
| languages | Folder | 0755 |
|
|
| meta_hooks | Folder | 0755 |
|
|
| resources | Folder | 0755 |
|
|
| __init__.py | File | 0 B | 0644 |
|
| __main__.py | File | 127 B | 0644 |
|
| all_languages.py | File | 1.43 KB | 0644 |
|
| clientlib.py | File | 16.42 KB | 0644 |
|
| color.py | File | 3.14 KB | 0644 |
|
| constants.py | File | 282 B | 0644 |
|
| envcontext.py | File | 1.56 KB | 0644 |
|
| error_handler.py | File | 2.56 KB | 0644 |
|
| errors.py | File | 78 B | 0644 |
|
| file_lock.py | File | 2.3 KB | 0644 |
|
| git.py | File | 8.33 KB | 0644 |
|
| hook.py | File | 1.48 KB | 0644 |
|
| lang_base.py | File | 5.26 KB | 0644 |
|
| logging_handler.py | File | 1019 B | 0644 |
|
| main.py | File | 15.56 KB | 0644 |
|
| output.py | File | 911 B | 0644 |
|
| parse_shebang.py | File | 2.42 KB | 0644 |
|
| prefix.py | File | 495 B | 0644 |
|
| repository.py | File | 7.43 KB | 0644 |
|
| staged_files_only.py | File | 4.06 KB | 0644 |
|
| store.py | File | 8.27 KB | 0644 |
|
| util.py | File | 6.88 KB | 0644 |
|
| xargs.py | File | 5.42 KB | 0644 |
|
| yaml.py | File | 561 B | 0644 |
|
| yaml_rewrite.py | File | 1.31 KB | 0644 |
|