""" Модуль для работы с кадастровыми записями. Содержит класс CadastralRecord для хранения информации о кадастровых номерах. """ class CadastralRecord: """Класс для хранения информации о кадастровом номере и связанных с ним данных.""" def __init__(self, cadastral_number, source_xml_info, temp_file_path=None): self.cadastral_number = cadastral_number # Основной кадастровый номер self.source_xml_info = source_xml_info # Ссылка на XMLFileInfo где найден self.temp_file_path = temp_file_path # Путь к файлу во временной папке self.quarter_number = self._extract_quarter_number() # Номер квартала self.related_numbers = [] # Смежные кадастровые номера из того же файла def _extract_quarter_number(self): """Извлекает номер квартала из кадастрового номера.""" # Квартал - это первые три части номера (NN:NN:NNNNNNN) parts = self.cadastral_number.split(':') if len(parts) >= 3: return ':'.join(parts[:3]) return None def set_related_numbers(self, all_numbers_from_file): """Устанавливает список смежных кадастровых номеров из того же файла.""" # Убираем сам номер из списка смежных self.related_numbers = [num for num in all_numbers_from_file if num != self.cadastral_number] def get_object_type(self): """Определяет тип объекта по кадастровому номеру.""" parts = self.cadastral_number.split(':') if len(parts) == 4: # Полный кадастровый номер объекта недвижимости return "Объект недвижимости" elif len(parts) == 3: # Номер квартала return "Квартал" else: return "Неизвестный тип" def __str__(self): return f"CadastralRecord({self.cadastral_number}, квартал: {self.quarter_number})" def __repr__(self): return self.__str__()