Фаза 2: config.py, checksum.py, random_utils.py, generators/ (11 модулей)

This commit is contained in:
2026-07-12 08:22:20 +04:00
parent a2f754ab4f
commit 37581eb601
15 changed files with 541 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
"""
Генератор фиктивного ОГРН (13 знаков).
Формат: «ОГРН » + 13 цифр с корректной контрольной суммой.
"""
import re
from ..random_utils import random_digits
from ..checksum import checksum_ogrn
def generate_ogrn(original: str) -> str:
"""Сгенерировать фиктивный 13-значный ОГРН.
Сохраняет оригинальный префикс (например, «ОГРН »).
Первая цифра всегда 1 (признак юридического лица).
Args:
original: Оригинальная строка с ОГРН
Returns:
Строка вида «ОГРН 1XXXXXXXXXXX-C» с корректной контрольной суммой
"""
prefix = re.match(r'ОГРН\s*', original, re.IGNORECASE).group(0)
base = "1" + random_digits(11)
return prefix + base + checksum_ogrn(base)