§
    šŠtj!  ã                  óø   — d Z ddlmZ ddlZddlZddlmZmZmZm	Z	 ddl
mZ erddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ  ej        e¦  «        Zd'd„Zd(d„Zd)d„ZdgZdZdZ	 	 	 d*d+d„Z	 	 	 d,d-d$„Z d.d&„Z!dS )/zGmail tool utils.é    )ÚannotationsN)ÚTYPE_CHECKINGÚListÚOptionalÚTuple)Úguard_import)ÚRequest)ÚCredentials)ÚInstalledAppFlow)ÚResource)ÚbuildÚreturnúTuple[Request, Credentials]c                 óZ   — t          dd¬¦  «        j        t          dd¬¦  «        j        fS )zqImport google libraries.

    Returns:
        Tuple[Request, Credentials]: Request and Credentials classes.
    zgoogle.auth.transport.requestszgoogle-auth-httplib2©Úmodule_nameÚpip_namezgoogle.oauth2.credentials)r   r	   r
   © ó    úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/tools/gmail/utils.pyÚimport_googler      sF   € õ 	Ø8Ø+ð	
ñ 	
ô 	
ô ÝØ3Ð>Tð	
ñ 	
ô 	
ä
ðð r   r   c                 ó.   — t          dd¬¦  «        j        S )zcImport InstalledAppFlow class.

    Returns:
        InstalledAppFlow: InstalledAppFlow class.
    zgoogle_auth_oauthlib.flowzgoogle-auth-oauthlibr   )r   r   r   r   r   Úimport_installed_app_flowr   &   s$   € õ Ø/Ð:Pðñ ô äðr   Úbuild_resourcec                 ó.   — t          dd¬¦  «        j        S )z…Import googleapiclient.discovery.build function.

    Returns:
        build_resource: googleapiclient.discovery.build function.
    zgoogleapiclient.discoveryzgoogle-api-python-clientr   )r   r   r   r   r   Ú'import_googleapiclient_resource_builderr   1   s$   € õ Ø/Ð:Tðñ ô äðr   zhttps://mail.google.com/z
token.jsonzcredentials.jsonÚ
token_fileúOptional[str]Úclient_secrets_fileÚscopesúOptional[List[str]]r
   c                ó:  — t          ¦   «         \  }}t          ¦   «         }d}|pt          }| pt          } |pt          }t
          j                             | ¦  «        r |j        | |¦  «        }|r|j	        s¥|r,|j
        r%|j        r|                      |¦   «         ¦  «         n( |j        ||¦  «        }|                     dd¬¦  «        }t          | d¦  «        5 }|                     |                     ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   |S )zGet credentials.Nr   F)ÚportÚopen_browserÚw)r   r   ÚDEFAULT_SCOPESÚDEFAULT_CREDS_TOKEN_FILEÚDEFAULT_CLIENT_SECRETS_FILEÚosÚpathÚexistsÚfrom_authorized_user_fileÚvalidÚexpiredÚrefresh_tokenÚrefreshÚfrom_client_secrets_fileÚrun_local_serverÚopenÚwriteÚto_json)	r   r   r    r	   r
   r   ÚcredsÚflowÚtokens	            r   Úget_gmail_credentialsr9   A   sr  € õ )™?œ?Ñ€Gˆ[Ý0Ñ2Ô2ÐØ€EØÐ%•~€FØÐ7Õ7€JØ-ÐLÕ1LÐõ 
„w‡~‚~�jÑ!Ô!ð JØ5�Ô5°jÀ&ÑIÔIˆàð )˜œð )Øð 	F�U”]ð 	F uÔ':ð 	FØ�MŠM˜'˜'™)œ)Ñ$Ô$Ð$Ð$ð =Ð#Ô<Ø# Vñô ˆDð ×)Ò)¨q¸uÐ)ÑEÔEˆEå�*˜cÑ"Ô"ð 	) eØ�KŠK˜Ÿš™œÑ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)à€Ls   Ã(DÄDÄDÚgmailÚv1ÚcredentialsúOptional[Credentials]Úservice_nameÚstrÚservice_versionr   c                óZ   — | pt          ¦   «         } t          ¦   «         } |||| ¬¦  «        S )zBuild a Gmail service.)r<   )r9   r   )r<   r>   r@   Úbuilders       r   Úbuild_resource_servicerC   c   s7   € ð Ð8Õ!6Ñ!8Ô!8€KÝ5Ñ7Ô7€GØˆ7�< ¸kÐJÑJÔJÐJr   Úbodyc                ó|  — 	 ddl m} 	  |t          | ¦  «        d¦  «        }|                     ¦   «         } t          | ¦  «        S # t          $ r3}t
                               |¦  «         t          | ¦  «        cY d}~S d}~ww xY w# t          $ r, t
                               d¦  «         t          | ¦  «        cY S w xY w)zClean email body.r   )ÚBeautifulSoupzhtml.parserNz/BeautifulSoup not installed. Skipping cleaning.)	Úbs4rF   r?   Úget_textÚ	ExceptionÚloggerÚerrorÚImportErrorÚwarning)rD   rF   ÚsoupÚes       r   Úclean_email_bodyrP   n   sÙ   € ðØ%Ð%Ð%Ð%Ð%Ð%ð	Ø �=¥ T¡¤¨MÑ:Ô:ˆDØ—=’=‘?”?ˆDÝ�t‘9”9ÐøÝð 	ð 	ð 	Ý�LŠL˜‰OŒOˆOÝ�t‘9”9ÐÐÐÐÐÐøøøøð	øøøøõ ð ð ð Ý�ŠÐHÑIÔIÐIÝ�4‰yŒyÐÐÐðøøøs:   ‚B ‰;A Á
BÁ(A=Á7BÁ8B Á=BÂB Â3B;Â:B;)r   r   )r   r   )r   r   )NNN)r   r   r   r   r    r!   r   r
   )Nr:   r;   )r<   r=   r>   r?   r@   r?   r   r   )rD   r?   r   r?   )"Ú__doc__Ú
__future__r   Úloggingr)   Útypingr   r   r   r   Úlangchain_core.utilsr   Úgoogle.auth.transport.requestsr	   Úgoogle.oauth2.credentialsr
   Úgoogle_auth_oauthlib.flowr   Úgoogleapiclient.discoveryr   r   r   Ú	getLoggerÚ__name__rJ   r   r   r   r&   r'   r(   r9   rC   rP   r   r   r   ú<module>r\      s˜  ðØ Ð à "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à -Ð -Ð -Ð -Ð -Ð -àð BØ6Ð6Ð6Ð6Ð6Ð6Ø5Ð5Ð5Ð5Ð5Ð5Ø:Ð:Ð:Ð:Ð:Ð:Ø2Ð2Ð2Ð2Ð2Ð2ØAÐAÐAÐAÐAÐAà	ˆÔ	˜8Ñ	$Ô	$€ðð ð ð ð"ð ð ð ðð ð ð ð -Ð-€Ø'Ð Ø0Ð ð !%Ø)-Ø"&ðð ð ð ð ðF *.ØØðKð Kð Kð Kð Kðð ð ð ð ð r   