27 lines
979 B
Python
27 lines
979 B
Python
"""
|
|
Генератор фиктивных паспортных данных.
|
|
|
|
Формат: «паспорт » / «серия номер » + XX XX XXXXXX
|
|
"""
|
|
|
|
import random
|
|
import re
|
|
from ..random_utils import random_digits
|
|
|
|
|
|
def generate_passport(original: str) -> str:
|
|
"""Сгенерировать фиктивные паспортные данные.
|
|
|
|
Сохраняет оригинальный префикс (паспорт, серия номер и т.д.).
|
|
Формат: 2 цифры серии + 2 цифры + 6 цифр номера.
|
|
|
|
Args:
|
|
original: Оригинальная строка с паспортными данными
|
|
|
|
Returns:
|
|
Строка вида «паспорт XX XX XXXXXX»
|
|
"""
|
|
m = re.match(r'(?:паспорт|серия\s+номер)[\s:№]*', original, re.IGNORECASE)
|
|
prefix = m.group(0) if m else ""
|
|
return prefix + f"{random.randint(10, 99)} {random.randint(10, 99)} {random_digits(6)}"
|