ó
    ¥ gC  ã                   óT   • S r SSKrSSKJr  \R                  " \5      r " S S5      rg)u·   
MÃ³dulo de comandos CLI - MVP v1.0

Implementa la interfaz de lÃ­nea de comandos del sistema:
- Procesamiento de comandos de usuario
- VisualizaciÃ³n de estado
- Control del sistema
é    N)Údatetimec                   óN   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rSrg)ÚCommandProcessoré   z$
Procesador de comandos de usuario.
c                 óŽ   • Xl         U R                  U R                  U R                  U R                  U R
                  S.U l        g )N)ÚXÚVÚDÚSÚM)Ú	processorÚ_exit_systemÚ_toggle_verboseÚ_toggle_debugÚ_show_statusÚ_show_measurementsÚcommands)ÚselfÚrealtime_processors     Ú//var/www/blue/EV-Temp_rev04/src/cli/commands.pyÚ__init__ÚCommandProcessor.__init__   s=   € Ø+Œà×"Ñ"Ø×%Ñ%Ø×#Ñ#Ø×"Ñ"Ø×(Ñ(ñ
ˆ�ó    c                 ó|  • U R                   R                  (       ag   U R                  5         [        S5      R	                  5       R                  5       nU R                  U5        U R                   R                  (       a  Mf  gg! [         a     g[         a"  n[        R                  SU 35         SnANQSnAff = f)z#
Inicia el procesador de comandos.
z

Comando: zError procesando comando: N)r   ÚrunningÚ
_show_menuÚinputÚstripÚupperÚ_process_commandÚEOFErrorÚ	ExceptionÚloggerÚerror)r   ÚcmdÚes      r   ÚstartÚCommandProcessor.start   s�   € ð �n‰n×$×$ð?Ø—‘Ô!Ü˜MÓ*×0Ñ0Ó2×8Ñ8Ó:�Ø×%Ñ% cÔ*ð	 �n‰n×$×$Ó$øô
 ó ÙÜó ?Ü—‘Ð9¸!¸Ð=×>Ñ>ûð?ús   �AB Â
B;Â	B;ÂB6Â6B;c                 ó  • [        S5        / nU R                  R                  (       a  UR                  S5        OUR                  S5        U R                  R                  (       a  UR                  S5        [        SSR                  U5       35        [        S[        U R                  R                  5       35        [        S5        [        S	5        [        S
5        [        S5        [        S5        [        S5        g)u+   
Muestra el menÃº de comandos disponibles.
z
=== Sistema de Monitoreo ===ÚVERBOSEÚNORMALÚDEBUGzEstado: z | úEntradas activas: z
Comandos disponibles:z  X - Salirz  V - Toggle modo Verbosez  D - Toggle modo Debugz  S - Mostrar estadoz  M - Mostrar medicionesN)Úprintr   ÚverboseÚappendÚdebugÚjoinÚlenÚentradas)r   Úestadoss     r   r   ÚCommandProcessor._show_menu.   s¾   € ô 	Ð.Ô/ØˆØ�>‰>×!×!Ø�N‰N˜9Õ%à�N‰N˜8Ô$Ø�>‰>××Ø�N‰N˜7Ô#ä�˜Ÿ™ GÓ,Ð-Ð.Ô/ÜÐ"¤3 t§~¡~×'>Ñ'>Ó#?Ð"@ÐAÔBÜÐ'Ô(ÜˆmÔÜÐ)Ô*ÜÐ'Ô(ÜÐ$Ô%ÜÐ(Õ)r   c                 ób   • XR                   ;   a  U R                   U   " 5         g[        S5        g)z 
Procesa un comando de usuario.
zComando no reconocidoN)r   r.   )r   r%   s     r   r    Ú!CommandProcessor._process_commandD   s&   € ð —-‘-ÓØ�M‰M˜#ÒÕ äÐ)Õ*r   c                 óN   • U R                   R                  5         [        S5        g)z
Detiene el sistema.
zDeteniendo sistema...N)r   Ústopr.   ©r   s    r   r   ÚCommandProcessor._exit_systemM   s   € ð 	�‰×ÑÔÜÐ%Õ&r   c                 ó8   • U R                   R                  5         g)z
Cambia el modo verbose.
N)r   Útoggle_verboser;   s    r   r   Ú CommandProcessor._toggle_verboseT   s   € ð 	�‰×%Ñ%Õ'r   c                 ó8   • U R                   R                  5         g)z
Cambia el modo debug.
N)r   Útoggle_debugr;   s    r   r   ÚCommandProcessor._toggle_debugZ   s   € ð 	�‰×#Ñ#Õ%r   c                 ó:  • [        S5        [        SU R                  R                   35        [        S[        U R                  R                  5       35        [        S5        U R                  R                  R                  5        H�  u  pUR                  5       nU(       d  M  [        SU S35        [        SUS    S	US
    35        [        SU R                  R                  R                  US5       35        US   c  M~  [        SUS    S35        M’     g)z'
Muestra el estado actual del sistema.
z
=== Estado del Sistema ===u   Ãšltimo proceso: r-   u   
EstadÃ­sticas por entrada:ú	
Entrada Ú:u     PerÃ­odo: Úperiodo_inicioz - Úperiodo_finú  Mediciones: r   ÚpromedioNz  Promedio: õ   Â°C)	r.   r   Úlast_process_timer3   r4   ÚitemsÚget_estadisticasÚperiod_measurementsÚget)r   ÚdmacÚentradaÚstatss       r   r   ÚCommandProcessor._show_status`   s   € ô 	Ð,Ô-ÜÐ! $§.¡.×"BÑ"BÐ!CÐDÔEÜÐ"¤3 t§~¡~×'>Ñ'>Ó#?Ð"@ÐAÔBÜÐ,Ô-à!Ÿ^™^×4Ñ4×:Ñ:Ö<‰MˆDØ×,Ñ,Ó.ˆEßˆuÜ˜
 4 &¨Ð*Ô+Ü˜ UÐ+;Ñ%<Ð$=¸SÀÀ}ÑAUÐ@VÐWÔXÜ˜ t§~¡~×'IÑ'I×'MÑ'MÈdÐTUÓ'VÐ&WÐXÔYØ˜Ñ$Ó0Ü˜L¨¨zÑ):Ð(;¸3Ð?Ö@ò =r   c                 ó  • [        S5        [        U R                  R                  R	                  5       5      n[        SU 35        U R                  R
                  R                  5        H›  u  p#U R                  R                  R                  US5      nUS:”  d  M3  UR                  5       nU(       d  ML  US   c  MT  [        SU S35        [        SU 35        [        S	US    S
35        [        SUS    SUS    S
35        M�     g)z"
Muestra las mediciones actuales.
z
=== Mediciones Actuales ===u   Total mediciones perÃ­odo: r   rI   NrD   rE   rH   u     Ãšltima temperatura: rJ   u     MÃ¡x/Min: Úmaximou   Â°C / Úminimo)	r.   Úsumr   rN   Úvaluesr4   rL   rO   rM   )r   ÚtotalrP   rQ   ÚcountrR   s         r   r   Ú#CommandProcessor._show_measurementsr   só   € ô 	Ð-Ô.Ü�D—N‘N×6Ñ6×=Ñ=Ó?Ó@ˆÜÐ+¨E¨7Ð3Ô4à!Ÿ^™^×4Ñ4×:Ñ:Ö<‰MˆDØ—N‘N×6Ñ6×:Ñ:¸4ÀÓCˆEØ�q�yØ×0Ñ0Ó2�ß�5˜U :Ñ.Ó:Ü˜J t f¨AÐ.Ô/Ü˜N¨5¨'Ð2Ô3ÜÐ3°E¸*Ñ4EÐ3FÀcÐJÔKÜ˜L¨¨x©Ð(9¸ÀÀhÁÐ?PÐPSÐTÖUò =r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r'   r   r    r   r   r   r   r   Ú__static_attributes__© r   r   r   r      s6   † ñò
ò?ò*ò,+ò'ò(ò&òAõ$Vr   r   )r`   Úloggingr   Ú	getLoggerr\   r#   r   rb   r   r   Ú<module>re      s0   ðñó Ý à	×	Ò	˜8Ó	$€÷rVò rVr   