
-ปj)  ใ               @   sh   d  Z  d d l Z d d Z d d   Z d d d	  Z d
 d d  Z d d   Z d d d d  Z d S)z[
Formato vistoso (HTML de Telegram) para el estado de un SAI Delta.
Compatible Python 3.5.
้    Nu   โ้   c             C   sV   |  d k r d St  |   }  |  j d d  }  |  j d d  }  |  j d d  }  |  S)	z4Escapa los caracteres que rompen el parse_mode HTML.Nu   โ๚&z&amp;๚<z&lt;๚>z&gt;)ฺstrฺreplace)Ztextoฉ r   ๚
formato.pyฺ_esc   s    r
   ้
   c             C   s   |  d k r d | Sy t  |   }  Wn  t t f k
 rF d | SYn Xt d t d |    }  t  t |  | d   } d | d | | S)z+Barra de bloques a partir de un porcentaje.Nu   โr   ้d   g      Y@u   โ)ฺintฺ	TypeErrorฺ
ValueErrorฺmaxฺminฺround)ZpctZanchoZllenosr   r   r	   ฺ_barra   s    r   ฺ c             C   s    |  d  k r d Sd j  |  |  S)Nu   โz{0}{1})ฺformat)ฺvZsufijor   r   r	   ฺ_val%   s    r   c             C   s   y t  |   }  Wn t t f k
 r. d SYn X|  d k  rH d j |   S|  d } | d k  rr d j | |  d  Sd j | d | d  S)Nu   โ้<   z{0} sz{0} min {1} sz{0} h {1} min)r   r   r   r   )ZsegundosZminutosr   r   r	   ฺ	_duracion+   s    	
r   c       
      C   sิ  t  | p$ |  j d  p$ |  j d   } | d k rB t j   } |  j d  sa d j | t  S|  j d  r d } d } nj |  j d	  r d
 } d } nL |  j d  rฮ d
 } d t  |  j d   } n d } t  |  j d   } |  j d  } |  j d  } g  } | j d j | |   | j d j t   | j d j |   | j d  | j d j t |  t |    | j d j t |  j d   t  |  j d     | j d j t |  t |    |  j d  d k	 r| j d j |  j d    | j d  | j d j t |  j d   t |  j d     | j d  j t |  j d!     |  j d"  d k	 rฑ| j d# j |  j d"    |  j d  rF|  j d$  pาd% }	 | j d  | j d j t   | j d& j t |	    | j d' j t |  j d(     | j d)  |  j d*  rt| j d+ j |  j d*    | j d j t   | j d, j t j	 d- t j
 |   t |  j d.     d/ j |  S)0z?ts = momento (epoch) en que se tomaron los datos. None = ahora.ฺnombreฺhostNฺoku`   ๐ <b>{0}</b>
<code>{1}</code>
Sin respuesta SNMP.
Revisa el reenvio de la ONT y la lista NMS.Z
en_bateriau   ๐ดz
EN BATERIAZ	en_bypassu   ๐ u"   EN BYPASS โ carga sin proteccionZbat_criticazBATERIA Zestado_bat_txtu   ๐ขZ
fuente_txtZcarga_bat_pctฺ	carga_pctz{0} <b>{1}</b>z<code>{0}</code>u   โก <b>Estado:</b> {0}r   u*   ๐ <b>Bateria</b>  <code>{0}</code> {1}%u        <code>{0} V</code> ยท {1}Ztension_batu*   ๐ <b>Carga</b>    <code>{0}</code> {1}%Z
potencia_wz     <code>{0} W</code>u$   ๐ <b>Entrada</b>  {0} V ยท {1} HzZ	v_entradaZ	f_entradau   ๐ <b>Salida</b>   {0} VZv_salidaZtemp_batu   ๐ก <b>Temp bat</b> {0} ยฐCZsegs_en_bateriar   u%   โฑ <b>Descargando desde hace</b> {0}u    ๐ Estimacion del SAI: {0} minZminutos_restz9<i>La estimacion no es fiable. Guiate por la tension.</i>Zalarmasu"   โ ๏ธ <b>Alarmas activas:</b> {0}u    ๐ {0}  ยท  cortes de red: {1}z%d/%m %H:%M:%SZ
fallos_redฺ
)r
   ฺgetฺtimer   ฺLINEAฺappendr   r   r   ZstrftimeZ	localtimeฺjoin)
ฺdZetiquetaZtsr   ZiconoZtitularZbat_pctr   ฺLZsegsr   r   r	   ฺformatear_telegram8   sr    *
		++r&   )ฺ__doc__r    r!   r
   r   r   r   r&   r   r   r   r	   ฺ<module>   s   
