""" Генератор фиктивного КПП (9 знаков). Формат: «КПП » + 9 цифр. Последние 3 цифры — код причины постановки (01, 43 или 77). """ import random import re from ..random_utils import random_digits def generate_kpp(original: str) -> str: """Сгенерировать фиктивный 9-значный КПП. Сохраняет оригинальный префикс (например, «КПП »). Последние 3 цифры — один из реальных кодов причины постановки. Args: original: Оригинальная строка с КПП Returns: Строка вида «КПП XXXX-код-XXX» """ m = re.match(r'КПП\s*', original, re.IGNORECASE) prefix = m.group(0) if m else "" return prefix + random_digits(4) + random.choice(["01", "43", "77"]) + random_digits(3)