fix: add python-docx+pdfplumber to requirements, bump DrHider v0.2
Deploy contracts-flask / validate (push) Successful in 0s
Deploy contracts-flask / validate (push) Successful in 0s
This commit is contained in:
@@ -6,7 +6,7 @@ DrHider — обфускация документов (двухпроходна
|
|||||||
|
|
||||||
Согласованность: одна и та же сущность во всех файлах → одно и то же фиктивное значение.
|
Согласованность: одна и та же сущность во всех файлах → одно и то же фиктивное значение.
|
||||||
"""
|
"""
|
||||||
DRHIDER_VERSION = "0.1"
|
DRHIDER_VERSION = "0.2"
|
||||||
import io
|
import io
|
||||||
import csv
|
import csv
|
||||||
import re
|
import re
|
||||||
@@ -110,40 +110,40 @@ def generate_email(original: str) -> str:
|
|||||||
|
|
||||||
|
|
||||||
def generate_inn10(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)}"
|
base = f"{random.randint(1,9)}{_random_digits(8)}"
|
||||||
return prefix + base + _checksum_inn10(base)
|
return prefix + base + _checksum_inn10(base)
|
||||||
|
|
||||||
|
|
||||||
def generate_inn12(original: str) -> str:
|
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)}"
|
base = f"{random.randint(1,9)}{_random_digits(9)}"
|
||||||
return prefix + base + _checksum_inn12(base)
|
return prefix + base + _checksum_inn12(base)
|
||||||
|
|
||||||
|
|
||||||
def generate_ogrn(original: str) -> str:
|
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)
|
base = "1" + _random_digits(11)
|
||||||
return prefix + base + _checksum_ogrn(base)
|
return prefix + base + _checksum_ogrn(base)
|
||||||
|
|
||||||
|
|
||||||
def generate_kpp(original: str) -> str:
|
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)
|
return prefix + _random_digits(4) + random.choice(["01", "43", "77"]) + _random_digits(3)
|
||||||
|
|
||||||
|
|
||||||
def generate_bik(original: str) -> str:
|
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)
|
return prefix + "04" + _random_digits(7)
|
||||||
|
|
||||||
|
|
||||||
def generate_rs(original: str) -> str:
|
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)
|
return prefix + "40702" + _random_digits(15)
|
||||||
|
|
||||||
|
|
||||||
def generate_ks(original: str) -> str:
|
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)
|
return prefix + "30101" + _random_digits(15)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
flask
|
flask
|
||||||
gunicorn
|
gunicorn
|
||||||
httpx
|
httpx
|
||||||
|
python-docx
|
||||||
|
pdfplumber
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ DrHider — обфускация документов (двухпроходна
|
|||||||
|
|
||||||
Согласованность: одна и та же сущность во всех файлах → одно и то же фиктивное значение.
|
Согласованность: одна и та же сущность во всех файлах → одно и то же фиктивное значение.
|
||||||
"""
|
"""
|
||||||
DRHIDER_VERSION = "0.1"
|
DRHIDER_VERSION = "0.2"
|
||||||
import io
|
import io
|
||||||
import csv
|
import csv
|
||||||
import re
|
import re
|
||||||
@@ -110,40 +110,40 @@ def generate_email(original: str) -> str:
|
|||||||
|
|
||||||
|
|
||||||
def generate_inn10(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)}"
|
base = f"{random.randint(1,9)}{_random_digits(8)}"
|
||||||
return prefix + base + _checksum_inn10(base)
|
return prefix + base + _checksum_inn10(base)
|
||||||
|
|
||||||
|
|
||||||
def generate_inn12(original: str) -> str:
|
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)}"
|
base = f"{random.randint(1,9)}{_random_digits(9)}"
|
||||||
return prefix + base + _checksum_inn12(base)
|
return prefix + base + _checksum_inn12(base)
|
||||||
|
|
||||||
|
|
||||||
def generate_ogrn(original: str) -> str:
|
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)
|
base = "1" + _random_digits(11)
|
||||||
return prefix + base + _checksum_ogrn(base)
|
return prefix + base + _checksum_ogrn(base)
|
||||||
|
|
||||||
|
|
||||||
def generate_kpp(original: str) -> str:
|
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)
|
return prefix + _random_digits(4) + random.choice(["01", "43", "77"]) + _random_digits(3)
|
||||||
|
|
||||||
|
|
||||||
def generate_bik(original: str) -> str:
|
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)
|
return prefix + "04" + _random_digits(7)
|
||||||
|
|
||||||
|
|
||||||
def generate_rs(original: str) -> str:
|
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)
|
return prefix + "40702" + _random_digits(15)
|
||||||
|
|
||||||
|
|
||||||
def generate_ks(original: str) -> str:
|
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)
|
return prefix + "30101" + _random_digits(15)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<a href="/">Сверка договоров</a>
|
<a href="/">Сверка договоров</a>
|
||||||
<span class="sep">|</span>
|
<span class="sep">|</span>
|
||||||
<strong>DrHider</strong>
|
<strong>DrHider</strong>
|
||||||
<span style="font-size:11px;color:var(--muted);">v0.1</span>
|
<span style="font-size:11px;color:var(--muted);">v0.2</span>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
|
|||||||
Reference in New Issue
Block a user