27 lines
933 B
Python
27 lines
933 B
Python
"""
|
|
Генератор фиктивного КПП (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»
|
|
"""
|
|
prefix = re.match(r'КПП\s*', original, re.IGNORECASE).group(0)
|
|
return prefix + random_digits(4) + random.choice(["01", "43", "77"]) + random_digits(3)
|