Spaces:
Sleeping
Sleeping
""" | |
Модуль содержит базовый интерфейс для всех структурных элементов документа. | |
""" | |
from abc import ABC, abstractmethod | |
from dataclasses import dataclass | |
from typing import Any, Callable | |
class ParsedStructure(ABC): | |
""" | |
Базовый абстрактный класс для всех структурных элементов документа. | |
""" | |
def to_string(self) -> str: | |
""" | |
Преобразует структуру в строковое представление. | |
Returns: | |
str: Строковое представление структуры. | |
""" | |
pass | |
def apply(self, func: Callable[[str], str]) -> None: | |
""" | |
Применяет трансформации к строковым элементам, | |
аналогично функции apply в pandas. | |
Args: | |
func (Callable[[str], str]): Функция для применения к строковым элементам. | |
""" | |
pass | |
def to_dict(self) -> dict[str, Any]: | |
""" | |
Преобразует структуру в словарь. | |
Returns: | |
dict[str, Any]: Словарное представление структуры. | |
""" | |
pass | |
class DocumentElement(ParsedStructure): | |
""" | |
Базовый класс для всех элементов документа (параграфы, таблицы, изображения, формулы). | |
""" | |
# Номер страницы, на которой находится элемент | |
page_number: int | None = None | |
# Индекс элемента в документе (порядковый номер) | |
index_in_document: int | None = None | |