
    wi                        d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlZd dlZd Zdej        deeeeef         fd	Zd
edefdZddeeef         dedefdZdeeef         dej        fdZdedefdZddZdS )    N)Path)platform)TupleUnion)urlparsec                 N    t          |                               dd           d S )NTparentsexist_ok)r   mkdir)dir_paths    l/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/rapidocr/utils/utils.pyr   r      s'    NN55555    bboxreturnc                 0   | j         dk    rt          d          | j        d         dk    r | j        d         dk    rt          d          | d d d d df                                         | d d d d df                                         }}t	          j        |          t	          j        |          }}t	          j        |          t	          j        |          }}t          |          t          |          t          |          t          |          fS )N   zbbox shape must be 3         zbbox shape must be (N, 4, 2)r   )ndim
ValueErrorshapeflattennpminmaxfloat)r   all_xall_yx_miny_minx_maxy_maxs          r   quads_to_rect_bboxr%      s    yA~~/000z!}djmq007888AAAqM))++T!!!QQQ']-B-B-D-D5E6%=="&--5E6%=="&--5E<<uuU||U5\\AAr   textc                 4    t          d | D                       S )Nc              3   6   K   | ]}d |cxk    odk    nc V  dS )u   一u   鿿N ).0chs     r   	<genexpr>z#has_chinese_char.<locals>.<genexpr>!   s>      99bx2))))))))999999r   )any)r&   s    r   has_chinese_charr.       s    99D999999r      	file_path
chunk_sizec                     t          | d          5 }t          j                    }	 |                    |          }|sn|                    |           .	 d d d            n# 1 swxY w Y   |                                S )Nrb)openhashlibsha256readupdate	hexdigest)r0   r1   filesha_signaturechunks        r   get_file_sha256r=   $   s    	i		 ($((	(IIj))E   '''		( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ""$$$s   AA!!A%(A%	save_pathimgc                    t          |           j                                        s)t          |           j                            dd           t	          j        d          rOt          j        t          |           j        |          d         	                    t          |                      d S t          j        t          |           |           d S )NTr	   win32r   )r   parentexistsr   r   
startswithcv2imencodesuffixtofilestrimwrite)r>   r?   s     r   save_imgrK   0   s    	??!((** BY$$TD$AAA7## T)__+S11!4;;C	NNKKKKI$$$$$r   urlc                     	 t          |           }t          |j        |j        g          S # t          $ r}Y d }~dS d }~ww xY w)NF)r   allschemenetloc	Exception)rL   resultes      r   is_urlrT   ;   sU    #FM6=1222   uuuuus   ), 
AAc                 V    	 t          j        | |          }|S # t          $ r Y d S w xY w)N)package)	importlibimport_moduleModuleNotFoundError)namerV   modules      r   import_packager\   C   sC    (w???   tts    
(()r/   )N)r5   rW   pathlibr   sysr   typingr   r   urllib.parser   rE   numpyr   r   ndarrayr   r%   rI   boolr.   intr=   rK   rT   r\   r)   r   r   <module>re      s                            ! ! ! ! ! ! 



    6 6 6
BRZ 
BE%u2L,M 
B 
B 
B 
B:3 :4 : : : :	% 	%uS$Y/ 	%S 	%S 	% 	% 	% 	%%c4i( %rz % % % %          r   