
    ni		                         S SK r S SKJrJrJrJrJrJr  SSKJ	r	J
r
  SSKJrJr  S\S\\   4S jrS	\\\\\\\4   4   S\4S
 jrg)    N)DictIterableListTextIOUnioncast   )_stringify_pathis_file_like)FileLikeObjTabulaOptionpath_or_bufferreturnc                    SSK Jn  SSKJn  [	        U 5      n [        U 5      (       a'  [        [        U 5      n [        R                  " U 5      nO+[        U S5       n[        R                  " U5      nSSS5        / nU" SS5      nU" [        WUS9U5       H  u  pxU V	s/ s H  n	[        U	5      PM     n
n	[        U
5      S	:X  a  UR                  U
S   5        ME  U
S   nU
 V	s/ s H$  n	[        [        [            U	R"                  5      PM&     nn	Xl        S
Ul        UR                  U5        M     U$ ! , (       d  f       N= fs  sn	f s  sn	f )zBuild tabula-py option from template file

Args:
    path_or_buffer (str, path object or file-like object):
        File like object of Tabula app template.

Returns:
    dict: tabula-py options
r   )groupby)
itemgetterrNpageextraction_method)keyr	   T)	itertoolsr   operatorr   r
   r   r   r   jsonloadopensorted_convert_template_optionlenappendr   floatareamultiple_tables)r   r   r   	templatesfoptionsgrouperr   grpetmp_optionsoption_areass                K/var/www/html/land-ocr/venv/lib/python3.13/site-packages/tabula/template.pyload_templater-      s     "#$^4NN##fn5IIn-	.#&!		!I ' G!45GF9':GD<?@Cq/2C@{q NN;q>*Q9DEA$x/E!%v E N) '& A Fs   D5E$+E5
Etemplatec           
         U R                  S5      nSnSnSnUS:X  a  SnOUS:X  a  SnOUS:X  a  Sn[        [        U R                  S5      5      n[        [        [        U S   5      S	5      [        [        [        U S
   5      S	5      [        [        [        U S   5      S	5      [        [        [        U S   5      S	5      /n[        X#XEUS9nU$ )zConvert Tabula app template to tabula-py option

Args:
    template (dict): Tabula app template

Returns:
    `obj`:dict: tabula-py option
r   FguessTlatticestreamr   y1   x1y2x2)r0   r1   r2   pagesr!   )getr   introundr    r   )r.   r   r0   r1   r2   r8   r!   r*   s           r,   r   r   3   s     !%89EGFG#	i	'	h	&hll6*+Ed5(4.)1-d5(4.)1-d5(4.)1-d5(4.)1-	D VtF M    )r   typingr   r   r   r   r   r   	file_utilr
   r   utilr   r   r-   strboolr    r:   r    r<   r,   <module>rC      sZ     < < 4 +(+ ($|2D (V"3dE33445""r<   