
    %5f9                     n   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZmZ d dlmZ edk(  rdZdZndZd	Z ed
e de d       g dZdgZd Zd Zd Zd Zd Zd Zd Z	 d Zd Zd Z	 d Z	 d Z	 d Z	 d Z 	 d Z!d Z"	 d Z#	 d  Z$	 d! Z%d" Z&d# Z'd$ Z(d*d%Z)d& Z*d' Z+d( Z,d) Z-y)+    N)async_playwrightexpect)datetime	timedelta)platformdarwini  z/https://carteraplus.com/REST/Controller.php?opti  z3https://dev.carteraplus.com/REST/Controller.php?optzEJECUTARA CON:  z ======= 

)	obtenerDocumentoPoliza obtenerDocumentoRecibosYFacturasexportarReportePagadasexportarReportePorRenovarexportarReportePorPagarexportarReporteCancelacionesexportarReporteRenovacionesobtenerDatosClienteverificaLoginSesionnotificarAClienteReciboc                 (  K   t               j                          d {   }| dk(  rdnd} d} t        d|        |j                  j	                  dddd| g d	d
g       d {   }d| d}t
        j                  j                  |      r|j                  |d       d {   }n|j                  d       d {   }|j                  j                  ddd       d {    |j                          d {   }|||fS 7 7 7 f7 M7 )7 w)NsiTFzEJECUTANDO COMO:z131.196.255.201:50100
jesus0BPhh
jrQNXNNoSy)serverusernamepassword)z--disable-extensionsz%--disable-background-timer-throttlingz(--disable-backgrounding-occluded-windowsz --disable-renderer-backgroundingz--no-sandboxz--disable-infobars)proxyheadlessargsignore_default_args../sessions/.jsonstorage_stateaccept_downloadsr#   )screenshots	snapshotssources)r   startprintchromiumlaunchospathexistsnew_contexttracingnew_page)ocultarNavegadorsessionpbrowsersession_filecontextpages          M/Users/wsoft/Documents/wsoft.com.mx/carteraplus-automatizador/python/utils.pyinicializarPlaywrightr:       s(    $$&&!-5T5 ,-**##'
 
 .. $  '$  y., WW^^L!''lUY'ZZG'''>>G%5%PPP!	!$	
GT	I ', [>P	!sj   DDAD#D$?D#D
$D>D?%D$D%D<D=
DD
DDDDc                    K   d| d}t         j                  j                  |      r| j                  |d       d {   }n| j                  d       d {   }|j	                          d {   }|S 7 97  7 
w)Nr   r    Tr!   r$   )r,   r-   r.   r/   r1   )r5   r3   r6   r7   page2s        r9   abrirPestanaPlaywrightr=   H   sy     y., WW^^L!''lUY'ZZG'''>>G  "
"%	,	 [>
"s3   <A>A8A>A:A>1A<2A>:A><A>c                 t   K   |j                          d {    | j                          d {    y 7 7 wN)closestop)r4   r5   s     r9   cerrarPlaywrightrB   S   s+     	.. s   848688c                    K   g }g }| D ]<  }|d   t         v r|j                  |        |d   t        v s,|j                  |       > ||fS w)Nfuncion)diccionarioNavegadorappenddiccionarioWhatsapp)	subtareassubtareasNavegadorsubtareasWhatsappitems       r9   organizaSubtareasrL   X   se      %dI..%	i/	/t$	%
 
.	..s
   2AAc                  "   K   t        d       y w)NERROR)r)        r9   salidaErrorrQ   b   s     .s   c                   K   dt          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nhttps://mercedes.wsoft.com.mx:	/reenviarjson)	PUERTO_DEL_NODOaiohttpClientSessionpostrV   asyncioget_event_looprun_until_completeenviar_jsondataurlhttp	respuestarespuesta_jsonloop	resultados          r9   enviarMensajerg   e   s     
((9C#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)s   #C6BC6B3BB3BBBB3+B,B30C6<B
=C6B3BB3
C6B	BB	B3!C6,B/-C63C9B<:C5C6c                     dt          d}t        j                  ||       }|j                  dk(  rt	        d|j                                y t	        d|j                          y )NrS   rT   rU      zrespuesta correctaz Error al realizar la solicitud: )rW   requestsrZ   status_coder)   rV   )r`   ra   rc   s      r9   enviarMensajeDirectorl   p   sX    
((9C#mmCd+)c!	
	 01	,Y-B-B,C
DErP   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }t        d|       y w)Nz*=administrador/actualizarWhatsappConectadorU   	RESULTADO)

URL_SERVERrX   rY   rZ   rV   r[   r\   r]   r^   r)   r_   s          r9   actualizarWhatsappConectadorp   |   s     ,@A#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)Ys   "DBDB2 BB2BBBB2*B+B2/D;B	<DB2BB2	DB	BB	B2 D+B.,D2C8B;9C ADc                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz5=administrador/dispersarConexionesYEliminarDuplicadosrU   	ro   rX   rY   rZ   rV   r[   r\   r]   r^   r_   s          r9   &dispersarConexionesYEliminarDuplicadosrs      s     ,KL#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)   "C5BC5B2 BB2BBBB2*B+B2/C5;B	<C5B2BB2	C5B	BB	B2 C5+B.,C52C8B;9C 5C5c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }|S w)Nz)=administrador/obtenerInformacionReciboBDrU   rr   r_   s          r9   obtenerInformacionReciboBDrv      s     ,?@#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)	   "C6BC6B2 BB2BBBB2*B+B2/C6;B	<C6B2BB2	C6B	BB	B2 C6+B.,C62C8B;9C 6C6c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz#=administrador/actualizarFechaLoginrU   rr   r_   s          r9   actualizarFechaLoginry           ,9:#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz'=administrador/actualizarConteoUsoTarearU   rr   r_   s          r9   actualizarConteoUsoTarear|           ,=>#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz=administrador/registrarRecibosrU   rr   r_   s          r9   registrarRecibosr      s     ,56#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz'=administrador/actualizarStatusSubtarearU   rr   r_   s          r9   actualizarStatusSubtarear      r}   rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz/=administrador/actualizarStatusNavegadorAbiertorU   rr   r_   s          r9    actualizarStatusNavegadorAbiertor      s     ,EF#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz.=administrador/actualizarStatusWhatsappAbiertorU   rr   r_   s          r9   actualizarStatusWhatsappAbiertor      s     ,DE#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz$=administrador/actualizarStatusTarearU   rr   r_   s          r9   actualizarStatusTarear      s     ,:;#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz#=administrador/obtenerDatosConexionrU   rr   r_   s          r9   obtenerDatosConexionr      rz   rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }y w)Nz*=administrador/registrarDatosAutogeneradosrU   rr   r_   s          r9   registrarDatosAutogeneradosr     s     ,@A#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)rt   c                   K   t          d}t        j                         4 d {   }|j                  ||       4 d {   }|j	                          d {   }|cd d d       d {    cd d d       d {    S 7 \7 B7 ,7 7 # 1 d {  7  sw Y   nxY wd d d       d {  7   n# 1 d {  7  sw Y   nxY wt
        j                         }|j                  t                     }|S w)Nz*=agente/obtenerConexionWhatsappPorIdAccesorU   rr   r_   s          r9   "obtenerConexionWhatsappPorIdAccesor     s     ,@A#""$  yy4y(  I&^^--n    -      
 
			!$%%km4)	rw   c                    K   yw)NFrO   )r`   s    r9   	leerExcelr   (  s	     	s   c                 d   | d   dk(  r| d   }|S | d   dk(  r/| d   D ]  }|d   dk(  r|d   }|d   d	k(  s|d   } | d   }|fS | d   d
k(  r=| d   D ]*  }|d   dk(  r|d   }|d   dk(  r|d   }|d   d	k(  s&|d   }, | d   }|fS | d   dk(  r/| d   D ]  }|d   dk(  r|d   }|d   d	k(  s|d   } | d   }|fS | d   dk(  r/| d   D ]  }|d   dk(  r|d   }|d   d	k(  s|d   } | d   }|fS | d   dk(  r/| d   D ]  }|d   dk(  r|d   }|d   d	k(  s|d   } | d   }|fS y )Nidentificadorwhatsappr3   aryaformlabelUsuariovalueu   ContraseñaqualitasClaveCuentaaxagnphdirO   )r`   r3   rK   usuarior   clavecuentas          r9   generarVariablesr   ,  s#   	/j(9oGN	/f$V !	g)	#w-	g-	'=	!
 9oGHg%%	/j(V !	g'	!W	g(	"g	g-	'=! 9oG&(G++	/e#V !	g)	#w-	g-	'=	!
 9oGHg%%	/e#V !	g)	#w-	g-	'=	!
 9oGHg%%	/e#V !	g)	#w-	g-	'=	!
 9oGHg%% $rP   c                   K   d}d}||d}t        j                  di |}t        j                  d||      }d}t        d| |       |j	                  | |d| dd	i
       |j                  d      j                  d|       }	|	j                         j                  d       |r	 t        j                  |        yy # t        $ r t        d       Y yt        $ r t        d       Y yt        $ r}
t        d|
        Y d }
~
yd }
~
ww xY ww)NAKIAWLKBE4A25RQEMAAW(msVt1i1cmK7VWmFpY+U4qzSjGJ5ziU3NA2e8ApxAaws_access_key_idaws_secret_access_keys3wsoft0zINFORMACION COMPLETA:segurocotizas/automatizador/ContentTypezapplication/pdf)FilenameBucketKey	ExtraArgszpublic-read)ACLTzEl archivo no se encuentraFz+No tienes permisos para eliminar el archivou   Ocurrió un error: r   )boto3clientresourcer)   upload_filer   ObjectAclputr,   removeFileNotFoundErrorPermissionError	Exception)routenombre_archivoeliminarArchivo	ACCESS_ID
ACCESS_KEYAWS_S3_CREDS	s3_clients3_resourcebucket_nameobjectes              r9   subirArchivoAS3r   `  s)    &):* #',
 1L1)tyYcd++
5+6
&~&67/0	   h'..1MnM]/^_&**,}%ii   () 9: !!%&sH   B%D(B? =D?D
DD
(D*D
2D DD

Dc                    K   t         dk(  rd}nd}d}d}||d}t        j                  d
i |}d}d|  }| | }		 |j                  |||	       |	S # t        $ r
}
Y d }
~
y	d }
~
ww xY ww)Nr   zD/Users/wsoft/Documents/wsoft.com.mx/carteraplus-automatizador/files/z6/var/www/wsoft.com.mx/carteraplus-automatizador/files/r   r   r   r   r   Fr   )r   r   r   download_filer   )ruta_archivor   RUTA_FOLDERr   r   r   r   r   object_namedownload_pathr   s              r9   descargarArchivoDeS3r     s     XKJK #)7* "',
 
	*\	*"+.|n=+ M.!12-[+}=	  s(   :A(A A(	A%A( A%%A(c                     t        j                         }|t        |       z   }|t        |       z
  }|j                  |      }|j                  |      }|||j                  |      fS )z DEFINIMOS FECHAS )days)r   nowr   strftime)rangoformatohoyfecha_proximafecha_anteriors        r9   obtenerFechasEnRangor     sa    #	u---... ))'2-!**73.	W(=	==rP   c                    t        d |j                         D              dz   }t        dd|dz   z  z          t        ddt        |       dz   z          t        d|  d       t        dt        |       dz   z   d       |j	                         D ]%  \  }}t        | d	| j                  |      d
       ' t        dd|dz   z  z          y)u   
    Imprime datos de manera elegante en la consola.

    Parámetros:
    - titulo (str): El título del bloque de datos.
    - datos (dict): Un diccionario donde cada clave es un dato a mostrar y cada valor es la descripción de ese dato.
    c              3   D   K   | ]  }t        t        |              y wr?   )lenstr).0datos     r9   	<genexpr>zimprimir.<locals>.<genexpr>  s     >tCD	N>s       
-=   z| z |z: z 
N)maxvaluesr)   r   itemsljust)titulodatos	ancho_maxr   valors        r9   imprimirr     s     >u||~>>BI 
$	A&
&'	Bsc&kAo&'
()	Bvhb/	SCK!O$%R
()  ;ur%!''	2E:; 
$	A&
&'rP   c                    K   | j                          d {   }t        dt        j                  |      j	                                y 7 2w)NzBASE ---- 
)
screenshotr)   base64	b64encodedecode)r8   screenshot_bytess     r9   generarCapturar     s:     ??,,(()9:AACD -s   AA	3A)T).pandasrX   rV   sysr   r,   rj   r   playwright.async_apir   r   r   r   r   rW   ro   r)   rE   rG   r:   r=   rB   rL   rQ   rg   rl   rp   rs   rv   ry   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rO   rP   r9   <module>r      s   > > > > 9 ( x/@*/D* (*]C D
   %P	
/	5F	 5	5
555555
55	2&h&T'\>(0ErP   