
    kh                     B    d Z ddlmZ ddlmZ ddlmZ  G d de      Zy)	z+A group of TextSpan and ImageSpan objects.
   )ElementCollection   )TextSpan)	ImageSpanc                   B    e Zd ZdZdefdZed        Zed        Zd Z	y)Spansz/Collection of TextSpan and ImageSpan instances.rawsc                     |D ]V  }d|v rt        |      }n3t        |      }|j                  j                         s|j                  sd}| j                  |       X | S )z5Recreate TextSpan or ImageSpan from source dict list.imageN)r   r   textstripstyleappend)selfr	   raw_spanspans       O/var/www/teggl/fontify/venv/lib/python3.12/site-packages/pdf2docx/text/Spans.pyrestorezSpans.restore   sY     	H(" *)yy(DKK	     c                 X    t        t        d | j                              }t        |      S )zGet TextSpan instances.c                 "    t        | t              S N)
isinstancer   r   s    r   <lambda>z"Spans.text_spans.<locals>.<lambda>   s    D(3 r   listfilter
_instancesr   r   spanss     r   
text_spanszSpans.text_spans   s*     V3T__
  U|r   c                 X    t        t        d | j                              }t        |      S )zGet ImageSpan instances.c                 "    t        | t              S r   )r   r   r   s    r   r   z#Spans.image_spans.<locals>.<lambda>&   s    D)4 r   r   r    s     r   image_spanszSpans.image_spans"   s*     V4doo
  U|r   c                 @   d}| j                   s|S | j                   d   }t        |t              r|xs |j                         }| j                   d   }t        |t              r|xs |j	                         }|r%| j
                  j                  | j                         |S )z.Remove redundant blanks at the begin/end span.F    )r   r   r   lstriprstrip_parentupdate_bboxbbox)r   stripped	left_span
right_spans       r   r   zSpans.strip+   s    x OOA&	i*x7U9CSCSCUH __R(
j(+8WJDUDUDWX T\\--dii8r   N)
__name__
__module____qualname____doc__r   r   propertyr"   r%   r    r   r   r   r   
   s>    94     r   r   N)r4   common.Collectionr   r   image.ImageSpanr   r   r6   r   r   <module>r9      s"    2  '1 1r   