a
    &ìÌf   ã                   @   s.   d Z ddlZddlmZmZ G dd„ dƒZdS )uÝ  
Sistema de alertas para notificar problemas y datos anÃ³malos.

Este mÃ³dulo proporciona funcionalidades para registrar y notificar diferentes tipos de alertas,
incluyendo errores de conexiÃ³n y anomalÃ­as en los datos de los medidores.

Desarrolladores:
- Para aÃ±adir nuevos tipos de alertas, agregue mÃ©todos adicionales a la clase AlertSystem
- Considere implementar notificaciones adicionales (por ejemplo, envÃ­o de correos electrÃ³nicos o SMS)
  para alertas crÃ­ticas
é    N)ÚForeÚStylec                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚAlertSystemc                 C   s   t  d¡| _d S )Nr   )ÚloggingÚ	getLoggerÚlogger)Úself© r	   ú,/var/www/blue/EV-AMI-Back_02/alert_system.pyÚ__init__   s    zAlertSystem.__init__c              
   C   s.   | j  tj› d|› d|› d|› tj› �¡ dS )uØ   
        Registra un error de conexiÃ³n.
        
        Args:
            host (str): DirecciÃ³n IP del medidor.
            port (int): Puerto del medidor.
            error (str): DescripciÃ³n del error.
        u   ALERTA: Error de conexiÃ³n en ú:ú - N)r   Úerrorr   ÚREDr   Ú	RESET_ALL)r   ÚhostÚportr   r	   r	   r
   Úconnection_error   s    	zAlertSystem.connection_errorc              
   C   s.   | j  tj› d|› d|› d|› tj› �¡ dS )uï   
        Registra una anomalÃ­a en los datos recibidos.
        
        Args:
            host (str): DirecciÃ³n IP del medidor.
            port (int): Puerto del medidor.
            message (str): DescripciÃ³n de la anomalÃ­a.
        u(   ALERTA: AnomalÃ­a detectada en datos de r   r   N)r   Úwarningr   ÚYELLOWr   r   )r   r   r   Úmessager	   r	   r
   Údata_anomaly   s    	zAlertSystem.data_anomalyN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r	   r	   r	   r
   r      s   r   )Ú__doc__r   Úcoloramar   r   r   r	   r	   r	   r
   Ú<module>   s   