o
    'j                      @   sp   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ e jdZ	dd Z
dd Zd	d
 Zdd Zdd ZdS )    N)tqdm)
get_loggerz~/.paddleocr/models/c           	      C   s   t  }tj| dd}|jdkrPt|jdd}d}t|ddd}t|d	}||D ]}|	t
| || q,W d    n1 sEw   Y  |  d S |d
 td d S )NT)stream   zcontent-length   i   ZiB)totalunitZ
unit_scalewbz-Something went wrong while downloading modelsr   )r   requestsgetstatus_codeintheadersr   openiter_contentupdatelenwritecloseerrorsysexit)	urlZ	save_pathloggerresponseZtotal_size_in_bytes
block_sizeprogress_barfiledata r   ^/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddleocr/ppocr/utils/network.pydownload_with_progressbar   s"   

r!   c           
   
   C   sJ  g d}t jt j| drt jt j| ds|ds#J dt j| |dd }td|| t j| d	d
 t	|| t
|dK}| D ]>}d }|D ]}|j|r`d| }qT|d u rfqN||}tt j| |d}	|	|  W d    n1 sw   Y  qNW d    n1 sw   Y  t | d S d S )N)z
.pdiparamsz.pdiparams.infoz.pdmodelzinference.pdiparamszinference.pdmodelz.tarz$Only supports tar compressed package/download {} to {}Texist_okrZ	inferencer	   )ospathexistsjoinendswithsplitprintformatmakedirsr!   tarfiler   
getmembersnameextractfiler   readremove)
Zmodel_storage_directoryr   Ztar_file_name_listtmp_pathZtarObjmemberfilenameZtar_file_namer   fr   r   r    maybe_download,   sF   

r;   c                 C   s`   t j| s
t| s| S | }t jt|dd }td|| t j	tdd t
|| |S )Nr"   r#   r$   Tr%   )r(   r)   r*   is_linkr+   
MODELS_DIRr-   r.   r/   r0   r!   )Z
model_pathr   r7   r   r   r    maybe_download_paramsH   s   
r>   c                 C   s   | d uo|  dS )Nhttp)
startswith)sr   r   r    r<   T   s   r<   c                 C   sP   |}| d u s
t | r$t | r| }|dd d d }|} tj| |} | |fS )Nr"   r#   )r<   r-   r(   r)   r+   )Z	model_dirZdefault_model_dirZdefault_urlr   	file_namer   r   r    confirm_model_dir_urlX   s   rD   )r(   r   r1   r
   r   Zppocr.utils.loggingr   r)   
expanduserr=   r!   r;   r>   r<   rD   r   r   r   r    <module>   s   