a
    æY÷i~  ã                   @   s>   d dl Z d dlZd dlmZ eƒ  dd„ Zdd„ Zdd„ ZdS )	é    N)Úload_dotenvc                
   C   s<   t jjt dd¡t d¡t d¡t d¡tt dd¡ƒd�S )	NZ
MYSQL_HOSTZ	localhostZ
MYSQL_USERZMYSQL_PASSWORDZMYSQL_DATABASEZ
MYSQL_PORTZ3306)ÚhostÚuserÚpasswordÚdatabaseÚport)ÚmysqlZ	connectorÚconnectÚosÚgetenvÚint© r   r   ú/home/Claro/claro/database.pyÚconectar   s    
ûr   c                 C   s|   | st dƒ d S tƒ }| ¡ }| d¡ t dƒ d}dd„ | D ƒ}| ||¡ | ¡  t d|j› d�ƒ | ¡  | ¡  d S )	Nz$Sin resultados para guardar en MySQLzTRUNCATE TABLE sims_ClarozTabla sims_Claro truncadaz©
        INSERT INTO sims_Claro (fecha, linea, titulo, porcentaje, detalle, restante, total, unidad, renovacion)
        VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
    c                 S   sF   g | ]>}|d  |d |d |d |d |d |d |d |d f	‘qS )	ÚfechaÚlineaÚtituloÚporcentaje_usadoÚdetalleÚusadoÚtotalÚunidadÚ
renovacionr   ©Ú.0Úrr   r   r   Ú
<listcomp>!   s   ö÷z$guardar_en_mysql.<locals>.<listcomp>zMySQL: z registros insertados)Úprintr   ÚcursorÚexecuteZexecutemanyÚcommitÚrowcountÚclose)Ú
resultadosÚconnr   ZsqlZ	registrosr   r   r   Úguardar_en_mysql   s     
ôr%   c                 C   sì  | st dƒ d S tƒ }|jdd�}|jdd�}| ¡ }ttdd„ | D ƒƒƒ}|D �]t}t d|› d�ƒ | d|f¡ | ¡ }| ¡  |sšt d	|› d
�ƒ qP|}|d }	t d|› d|	› �ƒ |	dk�ržt d|	› d�ƒ | d|f¡ t d|j› d�ƒ | 	¡  | d|f¡ | ¡ }
| ¡  |
�s2t d	|› d�ƒ qP|
d }t d|› �ƒ |dk�rt| d|f¡ t d|j› d�ƒ n | d|f¡ t d|j› d�ƒ | 	¡  qP| d|f¡ t d|j› d�ƒ | 	¡  qP| 
¡  | 
¡  | 
¡  | 
¡  d S )NzSin resultados para verificarT)Z
dictionaryc                 s   s   | ]}|d  V  qdS )r   Nr   r   r   r   r   Ú	<genexpr>@   ó    z.verificar_y_actualizar_sims.<locals>.<genexpr>z
  Verificando linea z...z‡
            SELECT restante FROM sims_Claro
            WHERE titulo = 'Llamadas a destinos Claro'
            AND linea = %s
        z  Linea z no encontrada en sims_ClaroÚrestantez
  sim_cid=z | restante Claro=é
   z  ALERTA Claro: restante=z" <= 10, desactivando campaign 1...zÃ
                UPDATE campaign_cid_numbers
                SET active_cid = 0
                WHERE sim_cid = %s
                AND campaign = 1
                AND active_cid = 1
            z    campaign_cid_numbers: z! filas (active_cid=0, campaign=1)uš   
                SELECT restante FROM sims_Claro
                WHERE titulo = 'Llamadas a otras compaÃ±Ã­as'
                AND linea = %s
            z sin datos de otras companiasz  restante otras=éÈ   zÛ
                    UPDATE campaign_cid_numbers
                    SET active_cid = 0
                    WHERE sim_cid = %s
                    AND campaign = 8
                    AND active_cid = 1
                z! filas (active_cid=0, campaign=8)zÛ
                    UPDATE campaign_cid_numbers
                    SET active_cid = 1
                    WHERE sim_cid = %s
                    AND campaign = 8
                    AND active_cid = 0
                z! filas (active_cid=1, campaign=8)zÃ
                UPDATE campaign_cid_numbers
                SET active_cid = 0
                WHERE sim_cid = %s
                AND campaign = 8
                AND active_cid = 1
            )r   r   r   ÚlistÚsetr   ZfetchoneZfetchallr!   r    r"   )r#   r$   r   Zcursor_otrasZcursor_updateÚlineasr   ZsimZsim_cidr(   Zsim_directoZrestante_otrasr   r   r   Úverificar_y_actualizar_sims6   sr    
ü
úü
úú
ú
r.   )r
   Zmysql.connectorr   Údotenvr   r   r%   r.   r   r   r   r   Ú<module>   s   	%