Ë
    Ê�žgŽ	  ã                   ót   — d Z ddlZddlZddlmZ ddlmZ ddlmZ  ej                  e	«      Z
 G d„ d«      Zy)	u¤   
Procesador base del sistema - MVP v1.0

Implementa la funcionalidad core para el procesamiento de datos,
estableciendo la base para los procesadores especÃ­ficos.
é    N)Údatetimeé   )Úconnect)Ú	DB_CONFIGc                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚBaseProcessorc                 óœ   — || _         d | _        d| _        d| _        d| _        t        j                  «       | _        | j                  «        y )NFT)	Údb_nameÚconnÚverboseÚdebugÚrunningÚ	threadingÚLockÚlockÚ
connect_db)Úselfr
   s     ú:/Users/jma/desarrollo/EV-Temp_rev04/src/processors/base.pyÚ__init__zBaseProcessor.__init__   s=   € ØˆŒØˆŒ	ØˆŒØˆŒ
ØˆŒÜ—N‘NÓ$ˆŒ	Ø�‰Õó    c                 óö   — 	 t        | j                  «      | _        | j                  r#t        j	                  d| j                  › �«       y	 y# t
        $ r"}t        j                  d|› �«       Y d}~yd}~ww xY w)u(   Establece conexiÃ³n con la base de datoszConectado a base de datos: Tu   Error de conexiÃ³n: NF)r   r
   r   ÚloggerÚinfoÚ	ExceptionÚerror)r   Úes     r   r   zBaseProcessor.connect_db   so   € ð	5Ü §¡Ó-ˆDŒIØ�yŠyÜ—‘Ð9¸$¿,¹,¸ÐHÔIØð ð
 øô ò 	5Ü�L‰LÐ/°¨sÐ3×4Ð4Øûð	5ús   ‚AA Á	A8ÁA3Á3A8c                 óp   — | j                   r| j                   j                  «       s| j                  «       S y)u3   Verifica y reestablece la conexiÃ³n si es necesarioT)r   Úis_connectedr   ©r   s    r   Úcheck_connectionzBaseProcessor.check_connection&   s(   € à�yŠy §	¡	× 6Ñ 6Ô 8Ø—?‘?Ó$Ð$Ør   c                 ó  — | j                    | _         | j                   rt        j                  nt        j                  }t        j                  «       j                  |«       t        j                  d| j                   rdnd› �«       y)zCambia el modo verbosezModo verbose: ÚactivadoÚdesactivadoN)r   ÚloggingÚDEBUGÚINFOÚ	getLoggerÚsetLevelr   r   )r   Úlevels     r   Útoggle_verbosezBaseProcessor.toggle_verbose,   sX   € àŸ<™<Ð'ˆŒØ!%§¢”—’´7·<±<ˆÜ×ÑÓ×$Ñ$ UÔ+Ü�‰�n°4·<²<¡ZÀ]Ð$SÐTÕUr   c                 óÔ  — t         j                  d«       d| _        | j                  r’	 | j                  j	                  «       rv| j                  j                  d¬«      }|j                  «        | j                  j                  «        | j                  j                  «        t         j                  d«       yyy# t        $ r"}t         j                  d|› �«       Y d}~yd}~ww xY w)z:
        Detiene el procesador y limpia recursos.
        zDeteniendo el procesador...FT)Úbufferedu!   ConexiÃ³n a base de datos cerradau   Error cerrando conexiÃ³n: N)
r   r   r   r   r   ÚcursorÚcloseÚcommitr   r   )r   r-   r   s      r   ÚstopzBaseProcessor.stop3   s²   € ô 	�‰Ð1Ô2ØˆŒà�9Š9ð	?Ø—9‘9×)Ñ)Ô+à!ŸY™Y×-Ñ-°tÐ-Ó<�FØ—L‘L”NØ—I‘I×$Ñ$Ô&Ø—I‘I—O‘OÔ%Ü—K‘KÐ CÕDð ,ð øô ò ?Ü—‘Ð9¸!¸Ð=×>Ñ>ûð?ús   ªBB< Â<	C'ÃC"Ã"C'c                 ót   — | j                    | _         t        j                  d| j                   rdnd› �«       y)zCambia el modo debugzModo debug: r"   r#   N)r   r   r   r   s    r   Útoggle_debugzBaseProcessor.toggle_debugF   s+   € àŸ™�^ˆŒ
Ü�‰�l°·²¡:ÀÐ"OÐPÕQr   N)	Ú__name__Ú
__module__Ú__qualname__r   r   r    r*   r0   r2   © r   r   r   r      s"   „ òò	òòVò?ó&Rr   r   )Ú__doc__r$   r   r   Údb.databaser   Úconfig.settingsr   r'   r3   r   r   r6   r   r   ú<module>r:      s9   ðñó Û Ý Ý !Ý 'à	ˆ×	Ñ	˜8Ó	$€÷8Rò 8Rr   