""" Модель для хранения информации о кадастровом объекте. """ from typing import Set class CadastralRecord: def __init__(self, main_number: str, file_path: str, all_numbers: Set[str] = None): """ Инициализация записи о кадастровом объекте Args: main_number: Основной кадастровый номер объекта file_path: Путь к XML файлу all_numbers: Все кадастровые номера, найденные в том же XML файле """ self.number = main_number # Оставляем для обратной совместимости self.main_number = main_number self.file_path = file_path self.all_numbers = all_numbers if all_numbers is not None else {main_number} @property def other_numbers(self) -> Set[str]: """Возвращает все номера кроме основного""" return self.all_numbers - {self.main_number} def __str__(self): other_count = len(self.other_numbers) if other_count > 0: return f"Объект {self.main_number} (+{other_count} номеров), файл: {self.file_path}" return f"Объект {self.main_number}, файл: {self.file_path}" def __repr__(self): return f"CadastralRecord('{self.main_number}', '{self.file_path}', {self.all_numbers})"