Spaces:
Sleeping
Sleeping
""" | |
Модуль содержит класс для представления изображений в документе. | |
""" | |
from dataclasses import dataclass, field | |
from typing import Any, Callable | |
from .parsed_structure import DocumentElement | |
class ParsedImage(DocumentElement): | |
""" | |
Изображение из документа (нереализованный класс). | |
""" | |
title: str | None = None | |
image: bytes = field(default_factory=bytes) | |
# Размеры изображения (в пикселях или единицах документа) | |
width: int | None = None | |
height: int | None = None | |
# Подпись/описание изображения | |
caption: str | None = None | |
def to_string(self) -> str: | |
""" | |
Преобразует информацию об изображении в строковое представление. | |
Returns: | |
str: Строковое представление информации об изображении. | |
""" | |
return f"Изображение: {self.title if self.title else 'Без названия'}" | |
def apply(self, func: Callable[[str], str]) -> None: | |
""" | |
Применяет функцию к текстовым элементам изображения. | |
Args: | |
func (Callable[[str], str]): Функция для применения к текстовым элементам. | |
""" | |
if self.title: | |
self.title = func(self.title) | |
if self.caption: | |
self.caption = func(self.caption) | |
def to_dict(self) -> dict[str, Any]: | |
""" | |
Преобразует изображение в словарь. | |
Returns: | |
dict[str, Any]: Словарное представление изображения. | |
""" | |
return { | |
'title': self.title, | |
'width': self.width, | |
'height': self.height, | |
'caption': self.caption, | |
'page_number': self.page_number, | |
'index_in_document': self.index_in_document, | |
'referenced_element_index': self.referenced_element_index | |
} | |