From 425fd50b0d19b32a3a09bddbe0b19d5c5cde6688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 29 Jun 2026 15:36:13 +0400 Subject: [PATCH] fix: add python-docx+pdfplumber to requirements, bump DrHider v0.2 --- deploy/services/drhider.py | 16 ++++++++-------- requirements.txt | 2 ++ site/services/drhider.py | 16 ++++++++-------- site/templates/drhider.html | 2 +- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/deploy/services/drhider.py b/deploy/services/drhider.py index 62f812f..b30ecd7 100644 --- a/deploy/services/drhider.py +++ b/deploy/services/drhider.py @@ -6,7 +6,7 @@ DrHider — обфускация документов (двухпроходна Согласованность: одна и та же сущность во всех файлах → одно и то же фиктивное значение. """ -DRHIDER_VERSION = "0.1" +DRHIDER_VERSION = "0.2" import io import csv import re @@ -110,40 +110,40 @@ def generate_email(original: str) -> str: def generate_inn10(original: str) -> str: - prefix = re.match(r'ИНН\s*', original).group(0) + prefix = re.match(r'ИНН\s*', original, re.IGNORECASE).group(0) base = f"{random.randint(1,9)}{_random_digits(8)}" return prefix + base + _checksum_inn10(base) def generate_inn12(original: str) -> str: - prefix = re.match(r'ИНН\s*', original).group(0) + prefix = re.match(r'ИНН\s*', original, re.IGNORECASE).group(0) base = f"{random.randint(1,9)}{_random_digits(9)}" return prefix + base + _checksum_inn12(base) def generate_ogrn(original: str) -> str: - prefix = re.match(r'ОГРН\s*', original).group(0) + prefix = re.match(r'ОГРН\s*', original, re.IGNORECASE).group(0) base = "1" + _random_digits(11) return prefix + base + _checksum_ogrn(base) def generate_kpp(original: str) -> str: - prefix = re.match(r'КПП\s*', original).group(0) + prefix = re.match(r'КПП\s*', original, re.IGNORECASE).group(0) return prefix + _random_digits(4) + random.choice(["01", "43", "77"]) + _random_digits(3) def generate_bik(original: str) -> str: - prefix = re.match(r'БИК\s*', original).group(0) + prefix = re.match(r'БИК\s*', original, re.IGNORECASE).group(0) return prefix + "04" + _random_digits(7) def generate_rs(original: str) -> str: - prefix = re.match(r'(?:р/с|расч[её]тный\s*сч[её]т)\s*', original).group(0) + prefix = re.match(r'(?:р/с|расч[её]тный\s*сч[её]т)\s*', original, re.IGNORECASE).group(0) return prefix + "40702" + _random_digits(15) def generate_ks(original: str) -> str: - prefix = re.match(r'(?:к/с|корр?[еи]?спондентский\s*сч[её]т)\s*', original).group(0) + prefix = re.match(r'(?:к/с|корр?[еи]?спондентский\s*сч[её]т)\s*', original, re.IGNORECASE).group(0) return prefix + "30101" + _random_digits(15) diff --git a/requirements.txt b/requirements.txt index 5e95fec..2fa29fb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ flask gunicorn httpx +python-docx +pdfplumber diff --git a/site/services/drhider.py b/site/services/drhider.py index 62f812f..b30ecd7 100644 --- a/site/services/drhider.py +++ b/site/services/drhider.py @@ -6,7 +6,7 @@ DrHider — обфускация документов (двухпроходна Согласованность: одна и та же сущность во всех файлах → одно и то же фиктивное значение. """ -DRHIDER_VERSION = "0.1" +DRHIDER_VERSION = "0.2" import io import csv import re @@ -110,40 +110,40 @@ def generate_email(original: str) -> str: def generate_inn10(original: str) -> str: - prefix = re.match(r'ИНН\s*', original).group(0) + prefix = re.match(r'ИНН\s*', original, re.IGNORECASE).group(0) base = f"{random.randint(1,9)}{_random_digits(8)}" return prefix + base + _checksum_inn10(base) def generate_inn12(original: str) -> str: - prefix = re.match(r'ИНН\s*', original).group(0) + prefix = re.match(r'ИНН\s*', original, re.IGNORECASE).group(0) base = f"{random.randint(1,9)}{_random_digits(9)}" return prefix + base + _checksum_inn12(base) def generate_ogrn(original: str) -> str: - prefix = re.match(r'ОГРН\s*', original).group(0) + prefix = re.match(r'ОГРН\s*', original, re.IGNORECASE).group(0) base = "1" + _random_digits(11) return prefix + base + _checksum_ogrn(base) def generate_kpp(original: str) -> str: - prefix = re.match(r'КПП\s*', original).group(0) + prefix = re.match(r'КПП\s*', original, re.IGNORECASE).group(0) return prefix + _random_digits(4) + random.choice(["01", "43", "77"]) + _random_digits(3) def generate_bik(original: str) -> str: - prefix = re.match(r'БИК\s*', original).group(0) + prefix = re.match(r'БИК\s*', original, re.IGNORECASE).group(0) return prefix + "04" + _random_digits(7) def generate_rs(original: str) -> str: - prefix = re.match(r'(?:р/с|расч[её]тный\s*сч[её]т)\s*', original).group(0) + prefix = re.match(r'(?:р/с|расч[её]тный\s*сч[её]т)\s*', original, re.IGNORECASE).group(0) return prefix + "40702" + _random_digits(15) def generate_ks(original: str) -> str: - prefix = re.match(r'(?:к/с|корр?[еи]?спондентский\s*сч[её]т)\s*', original).group(0) + prefix = re.match(r'(?:к/с|корр?[еи]?спондентский\s*сч[её]т)\s*', original, re.IGNORECASE).group(0) return prefix + "30101" + _random_digits(15) diff --git a/site/templates/drhider.html b/site/templates/drhider.html index f8262a6..effa879 100644 --- a/site/templates/drhider.html +++ b/site/templates/drhider.html @@ -64,7 +64,7 @@ Сверка договоров | DrHider - v0.1 + v0.2