documentExtractionag051/ExtractDocument
0
1from enum import Enum2 3from .geometry_utils import TextRect4 5 6class FilterType(Enum):7 PAGE = 'page'8 BLOCK_TYPE = 'block_type'9 TEXT_CONTENT = 'text_content'10 11 12class FilterMethod(Enum):13 EQUALS = 'equals'14 CONTAINS = 'contains'15 16 17class FilterRects:18 19 @staticmethod20 def filter_by_page(rects: list[TextRect], page_num: int) -> list[TextRect]:21 return [r for r in rects if r.page_num == page_num]22 23 @staticmethod24 def filter_by_block_type(rects: list[TextRect], block_type: str) -> list[TextRect]:25 return [r for r in rects if r.block_type == block_type]26 27 @staticmethod28 def filter_by_text_content(rects: list[TextRect], text_substring: str) -> list[TextRect]:29 return [r for r in rects if r.text and text_substring in r.text]30 