a
    Yi~                     @   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 | }|  |st d	| d
 qP|}|d }	t d| d|	  |	dkrt 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   	%