
    kh                     N    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d d	e      Zy
)zRow in a table.
    )WD_ROW_HEIGHT)Pt   )Cells   )Elementc                   X     e Zd ZdZddef fdZd Zd Zd Zd Z	 fdZ
d	efd
Z xZS )RowzRow in a table.rawc                     |i }t         |   |       |j                  dd      | _        t	        |       j                  |j                  dg             | _        y )Nheightg        )parentcells)super__init__getr   r   restore_cells)selfr   	__class__s     N/var/www/teggl/fontify/venv/lib/python3.12/site-packages/pdf2docx/table/Row.pyr   zRow.__init__   sQ    ;b ggh, 4(00"1EF    c                 b    	 | j                   |   }|S # t        $ r d| d}t        |      w xY w)NzCell index z out of range)r   
IndexError)r   idxcellmsgs       r   __getitem__zRow.__getitem__   sE    	;;s#D
 K	  	"uM2CS/!	"s    .c                 (    d | j                   D        S )Nc              3       K   | ]  }|  y wN ).0r   s     r   	<genexpr>zRow.__iter__.<locals>.<genexpr>#   s     --s   )r   r   s    r   __iter__zRow.__iter__"   s    ---r   c                 ,    t        | j                        S r!   )lenr   r%   s    r   __len__zRow.__len__%   s    4;;r   c                 :    | j                   j                  |       y)z/Append cell to row and update bbox accordingly.N)r   append)r   r   s     r   r+   z
Row.append)   s    4 r   c                     t         |          }|j                  | j                  | j                  j                         d       |S )N)r   r   )r   storeupdater   r   )r   resr   s     r   r-   z	Row.store.   s=    gmo

kk[[&&(
 	
 
r   idx_rowc                    |j                   |   }t        j                  |_        t	        | j
                        |_        t        t        |j                              D ]#  }| j                  |   j                  |||f       % y)zCreate row of docx table.
        
        Args:
            table (Table): ``python-docx`` table instance.
            idx_row (int): Current row index.
        N)rowsr   EXACTLYheight_ruler   r   ranger(   columnsr   	make_docx)r   tabler0   docx_rowidx_cols        r   r7   zRow.make_docx8   sr     ::g&  -44 T[[/ S/0 	FGKK **57G2DE	Fr   r!   )__name__
__module____qualname____doc__dictr   r   r&   r)   r+   r-   intr7   __classcell__)r   s   @r   r
   r
      s;    G4 G. !
Fs Fr   r
   N)	r>   docx.enum.tabler   docx.sharedr   r   common.Elementr   r
   r"   r   r   <module>rE      s&    *   $?F' ?Fr   