a
    #Zh                     @   s   d dl mZmZmZ d dlZd dlZd dlmZ d dlZee	Z
dZedZe
jddgdd	d
 Ze	dkr~e
jdddd dS )    )FlaskrequestjsonifyN)BytesIOZFactorX2025uQ   ^[A-ZÁÉÍÓÚÑ][a-záéíóúñ]+(?: [A-ZÁÉÍÓÚÑ][a-záéíóúñ]+){2,}$z/extract_pdf_infoPOST)methodsc                  C   s  t jd} | r| dt kr.tddidfS t jd}|sNtddidfS t|}|jd	krrtdd
idfS t|j	}t
j|dd}d  } }}|D ]}|  }	t|	D ]\}
}d|v r2|
dkr|	|
d   nd}|
d t|	k r|	|
d   nd}|r"| dkr"|}n|r.|}nd}d|v r|
d t|	k r\|	|
d   nd}|rl|}qd}qt|	D ]j\}
}d|v rtddD ]>}|
| t|	k r|	|
|   }t|r|} q֐q|rz qqz|sBt|	D ]L\}
}d|v r|
d t|	k r|	|
d   }t|r|} qBq|s|	D ]"}t| rJ| } qqJqt|pzd|pd|pddS )NAuthorizationzBearer errorUnauthorizedi  pdf_urlzMissing pdf_urli     zFailed to download PDFZpdf)streamZfiletypezMarca:    zMODELO:zSin datozModelo:u   Técnico   u   Firma del Técnico)marcamodelotecnico)r   headersget	API_TOKENr   jsonrequestsstatus_coder   contentfitzopenZget_text
splitlines	enumeratestriplenupperrangeNOMBRE_REGEXmatch)auth_headerr   responseZpdf_datadocr   r   r   ZpagelinesilineZanteriorZ	siguienteoffsetZ	candidatoZposible r,   #/var/www/html/extraerPDF/extraer.pyextract_pdf_info   sn    




&&




r.   __main__z0.0.0.0i  T)hostportdebug)flaskr   r   r   r   r   ior   re__name__appr   compiler#   router.   runr,   r,   r,   r-   <module>   s   

J