""" Модуль содержит класс для метаданных документа. """ from dataclasses import dataclass, field from datetime import datetime from typing import Any @dataclass class ParsedMeta: """ Метаданные документа. """ date: datetime | str = field(default_factory=datetime.now) owner: str | None = None source: str | None = None status: str | None = None note: dict | None = None def to_dict(self) -> dict[str, Any]: """ Преобразует метаданные в словарь. Returns: dict[str, Any]: Словарное представление метаданных. """ date_value = self.date # Конвертируем datetime в строку, если это объект datetime if isinstance(self.date, datetime): date_value = self.date.isoformat() return { 'date': date_value, 'owner': self.owner, 'source': self.source, 'status': self.status, 'note': self.note, }