ó
    ¥ gŽ	  ã                   ót   • S r SSKrSSKrSSKJr  SSKJr  SSKJr  \R                  " \	5      r
 " S S5      rg)	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                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚBaseProcessoré   c                 óœ   • Xl         S U l        SU l        SU l        SU l        [
        R                  " 5       U l        U R                  5         g )NFT)	Údb_nameÚconnÚverboseÚdebugÚrunningÚ	threadingÚLockÚlockÚ
connect_db)Úselfr   s     Ú2/var/www/blue/EV-Temp_rev04/src/processors/base.pyÚ__init__ÚBaseProcessor.__init__   s;   € ØŒØˆŒ	ØˆŒØˆŒ
ØˆŒÜ—N’NÓ$ˆŒ	Ø�‰Õó    c                 ó  •  [        U R                  5      U l        U R                  (       a#  [        R	                  SU R                   35        g g! [
         a"  n[        R                  SU 35         SnAgSnAff = f)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   ÚBaseProcessor.connect_db   so   € ð	5Ü §¡Ó-ˆDŒIØ�y�yÜ—‘Ð9¸$¿,¹,¸ÐHÔIØð ð
 øô ó 	5Ü�L‰LÐ/°¨sÐ3×4Ð4Øûð	5ús   ‚AA Á
A>ÁA9Á9A>c                 ó„   • U R                   (       a  U R                   R                  5       (       d  U R                  5       $ g)u3   Verifica y reestablece la conexiÃ³n si es necesarioT)r   Úis_connectedr   ©r   s    r   Úcheck_connectionÚBaseProcessor.check_connection&   s+   € à�y�y §	¡	× 6Ñ 6× 8Ñ 8Ø—?‘?Ó$Ð$Ør   c                 ó0  • U R                   (       + U l         U R                   (       a  [        R                  O[        R                  n[        R                  " 5       R                  U5        [        R                  SU R                   (       a  SOS 35        g)zCambia el modo verbosezModo verbose: ÚactivadoÚdesactivadoN)r   ÚloggingÚDEBUGÚINFOÚ	getLoggerÚsetLevelr   r   )r   Úlevels     r   Útoggle_verboseÚBaseProcessor.toggle_verbose,   sX   € àŸ<™<Ô'ˆŒØ!%§§”—’´7·<±<ˆÜ×ÒÓ×$Ñ$ UÔ+Ü�‰�n°4·<·<¡ZÀ]Ð$SÐTÕUr   c                 óä  • [         R                  S5        SU l        U R                  (       a”   U R                  R	                  5       (       as  U R                  R                  SS9nUR                  5         U R                  R                  5         U R                  R                  5         [         R                  S5        ggg! [         a"  n[         R                  SU 35         SnAgSnAff = f)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   r2   r   s      r   ÚstopÚ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C Ã
C/ÃC*Ã*C/c                 ó†   • U R                   (       + U l         [        R                  SU R                   (       a  SOS 35        g)zCambia el modo debugzModo debug: r&   r'   N)r   r   r   r"   s    r   Útoggle_debugÚBaseProcessor.toggle_debugF   s+   € àŸ™”^ˆŒ
Ü�‰�l°··¡:ÀÐ"OÐPÕQr   )r   r   r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r#   r.   r5   r8   Ú__static_attributes__© r   r   r   r      s"   † òò	òòVò?õ&Rr   r   )Ú__doc__r(   r   r   Údb.databaser   Úconfig.settingsr   r+   r:   r   r   r?   r   r   Ú<module>rC      s7   ðñó Û Ý Ý !Ý 'à	×	Ò	˜8Ó	$€÷8Rò 8Rr   