[docs]defget_gmail_credentials(token_file:Optional[str]=None,client_sercret_file:Optional[str]=None,service_account_file:Optional[str]=None,scopes:Optional[List[str]]=None,use_domain_wide:bool=False,delegated_user:Optional[str]=None,)->Credentials:"""Get Gmail credentials."""warnings.warn("get_gmail_credentials is deprecated and will be removed in a future version.""Use get_google_credentials instead.",DeprecationWarning,stacklevel=2,)ifuse_domain_wide:scopes=scopesorDEFAULT_SERVICE_SCOPESelse:scopes=scopesorDEFAULT_SCOPESreturnget_google_credentials(scopes=scopes,token_file=token_file,client_secrets_file=client_sercret_file,service_account_file=service_account_file,use_domain_wide=use_domain_wide,delegated_user=delegated_user,)
[docs]defbuild_gmail_service(credentials:Optional[Credentials]=None,service_name:str="gmail",service_version:str="v1",use_domain_wide:bool=False,delegated_user:Optional[str]=None,service_account_file:Optional[str]=None,scopes:Optional[List[str]]=None,)->Resource:"""Build a Gmail service."""ifuse_domain_wide:scopes=scopesorDEFAULT_SERVICE_SCOPESelse:scopes=scopesorDEFAULT_SCOPEScredentials=credentialsorget_google_credentials(scopes=scopes,use_domain_wide=use_domain_wide,delegated_user=delegated_user,service_account_file=service_account_file,)builder=import_googleapiclient_resource_builder()returnbuilder(service_name,service_version,credentials=credentials)
[docs]defbuild_resource_service(credentials:Optional[Credentials]=None,service_name:str="gmail",service_version:str="v1",use_domain_wide:bool=False,delegated_user:Optional[str]=None,service_account_file:Optional[str]=None,scopes:Optional[List[str]]=None,)->Resource:"""Build a Gmail resource service."""warnings.warn("build_resource_service is deprecated and will be removed in a future version.""Use build_gmail_service instead.",DeprecationWarning,stacklevel=2,)returnbuild_gmail_service(credentials=credentials,service_name=service_name,service_version=service_version,use_domain_wide=use_domain_wide,delegated_user=delegated_user,service_account_file=service_account_file,scopes=scopes,)
[docs]defclean_email_body(body:str)->str:"""Clean email body."""try:frombs4importBeautifulSouptry:soup=BeautifulSoup(str(body),"html.parser")body=soup.get_text()returnstr(body)exceptExceptionase:logger.error(e)returnstr(body)exceptImportError:logger.warning("BeautifulSoup not installed. Skipping cleaning.")returnstr(body)