Ctrl K
ComunidadGuías…

scripts/audit_unicode_bidi.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""Detect bidirectional Unicode controls that can disguise tracked text."""
from __future__ import annotations
import argparse
from pathlib import Path
from scripts.audit_common import TEXT_SUFFIXES,print_failures,require_root,tracked_files
_BIDI={"\u061c","\u200e","\u200f","\u202a","\u202b","\u202c","\u202d","\u202e","\u2066","\u2067","\u2068","\u2069"}
def audit_text(text:str)->list[str]:
    return [f"bidirectional control character on line {i}" for i,line in enumerate(text.splitlines(),1) if any(c in _BIDI for c in line)]
def audit(root:Path)->list[str]:
    root=require_root(root);failures=[]
    for rel in tracked_files(root):
        if rel.suffix.lower() not in TEXT_SUFFIXES:continue
        try:text=(root/rel).read_text(encoding="utf-8")
        except (OSError,UnicodeDecodeError):continue
        failures.extend(f"{rel}: {x}" for x in audit_text(text))
    return failures
def main(argv=None):
    p=argparse.ArgumentParser(description=__doc__);p.add_argument("root",nargs="?",default=".");return print_failures(audit(Path(p.parse_args(argv).root)))
if __name__=="__main__":raise SystemExit(main())