o
    Y}/iª'  ã                   @   s‚   d dl mZ ddlmZmZmZmZmZ ddlm	Z	 ddl
mZmZ ddlmZmZmZ ddlmZ dd	„ Zed
kr?eƒ  dS dS )é    )Ú	parseaddré   )Úfetch_unseen_messagesÚextract_invoice_attachmentsÚsend_processed_invoices_emailÚsave_attachmentsÚhas_inline_images©Ú
MailConfig)Ú$process_attachments_with_wp_invoicesÚbuild_email_body_for_results)Úrender_results_email_htmlÚrender_invalid_credentials_htmlÚrender_no_attachments_html)Úis_authorized_from_messagec                  C   sT  t js	tdƒ d S tƒ \} }| stdƒ d S |s|  ¡  d S |D ]~\}}| dd¡}t|ƒ\}}| dd¡}t|ƒ\}}	|dkrÊtd|	› d	|› d
|› ƒ |rÂg }
|
 d¡ |
 d¡ |
 d¡ |	rk|
 d|	› ¡ |
 d¡ |
 d¡ |
 d¡ |
 d¡ |
 d¡ |
 d¡ |
 d¡ |
 d¡ |
 d¡ d 	|
¡}zt
|||g |d W n tyÁ } ztd|› ƒ W Y d }~nd }~ww |  |dd¡ q |dkrÜtd|	› d	|› d
|› ƒ q |dkrŸtd|	› d	|› d
|› ƒ t|ƒ}|setd|› d
|› ƒ t|ƒ}g }
|
 d¡ |
 d¡ |r"|
 d¡ |
 d¡ |
 d¡ n|
 d¡ |
 d¡ |
 d¡ |
 d¡ |
 d ¡ |
 d¡ |
 d¡ |
 d¡ d 	|
¡}t|d!}t
|||g |d |  |dd¡ q d"d#lm } t||jƒ}td$ƒ |D ]}td%|ƒ qwt|ƒ}g }g }|pŒg D ].}d&|v pœd'|v pœd(|v }|rµ| d&¡d)u s®| d'¡rµ| |¡ q| |¡ qt|ƒpÂd}t|ƒ}|r_g }| d¡ | d*¡ |D ]$}| d+¡pç| d,¡pçd-}| d'¡pïd.}| d/|› d0|› ¡ qØ| d¡ | d1¡ | d¡ | d2¡ |D ]@}| d(¡pd ¡ }|s$qt|ƒd3kr1|d4d … }| d+¡p>| d,¡p>d-}| d5|› d6¡ | |¡ | d¡ q|d d 	|¡  ¡ }g }|peg D ]}| d7¡pr| d8¡}|r{| |¡ qftd9ƒ |D ]}td%|ƒ qƒ|r˜t
|||||d: |  |dd¡ q |  ¡  |  ¡  d S );NzS[wp_invoices_mail_app] Mail bot desactivado (WP_INVOICES_MAIL_ENABLED=0). Saliendo.zNo se pudo conectar a IMAP.ÚFromÚ ÚSubjectz(sin asunto)ÚINVALID_CREDENTIALSz[AUTH] z Desde: z
, asunto: zHi,zkWe could not process your email because there was a problem with the login credentials in the message body.z- Technical detail: z=Please make sure you include a valid login using this format:zUSER: your_usernamezPASS: your_passwordzThis email was not processed.zRegards,u   Invoice Bot â€“ AbsolutemsÚ
)Ú
to_addressÚoriginal_subjectÚ	body_textÚ	pdf_pathsÚ	body_htmlu9   [AUTH] Error enviando correo de credenciales invÃ¡lidas: z+FLAGSz\SeenÚNOT_CREDENTIALSz[##POSIBLE SPAMMER##][AUTH] ÚAUTHu#   Correo sin adjuntos vÃ¡lidos desde zdWe received your email but could not process any invoice because we did not find a valid attachment.z¤It looks like you inserted a photo inside the email body. Please attach the invoice as a file using the paper-clip icon instead of pasting it into the message text.zmPlease attach at least one invoice as a PDF or a clear image file (JPG, PNG, etc.) so the bot can process it.z6This email was not processed and no PDF was generated.)Úinline_photosr   r	   zAdjuntos crudos guardados en:z  -ÚokÚerrorÚ	tracebackFu>   âš ï¸ Algunas facturas no se pudieron procesar correctamente:ÚfilenameÚoriginal_filenamez(sin nombre)zError desconocidoz  - z: uŒ   Si quieres que investiguemos el problema, reenvÃ­a este correo a soporte incluyendo el bloque de detalles tÃ©cnicos que ves a continuaciÃ³n.uQ   â”€â”€â”€â”€â”€â”€â”€â”€ Detalles tÃ©cnicos para soporte â”€â”€â”€â”€â”€â”€â”€â”€iÐ  i0øÿÿú[ú]Úrevision_pdf_pathÚpdf_pathu   PDFs de revisiÃ³n a adjuntar:)r   r   r   r   r   )r
   ÚENABLEDÚprintr   ÚlogoutÚgetr   r   ÚappendÚjoinr   Ú	ExceptionÚstorer   r   r   Úconfigr   Ú	INBOX_DIRr   r   r   ÚstripÚlenÚclose)ÚimapÚmessagesÚmsg_idÚmsgÚfrom_headerÚ_Ú
from_emailÚsubjectÚ
authorizedÚauth_msgÚ
text_linesr   r   ÚeÚattachmentsr   Ú_MCÚsaved_raw_pathsÚpÚresultsÚ
ok_resultsÚerror_resultsÚrÚhas_error_flagÚbodyÚextra_linesÚerÚfnameÚerr_textÚtbr   © rO   ú;/var/www/html/flask_server/apps/wp_invoices_mail_app/cli.pyÚrun_once   sH  


ÿ
ÿ








û€ÿ


ÿ
ÿÿ
ÿ






û"

ÿý
ÿ

ÿý

€û	€rQ   Ú__main__N)Úemail.utilsr   Úemail_clientr   r   r   r   r   r/   r
   Ú	processorr   r   Ú	renderersr   r   r   Úauthr   rQ   Ú__name__rO   rO   rO   rP   Ú<module>   s    h
ÿ