U
    *i,                     @   s|   d Z ddlZddlmZ ddlmZ edZddgZe	ej
dd	d
Zej
dddZej
dddZe	edddZdS )z;Google Search Console authentication using service account.    N)service_account)buildseo_optimizerz3https://www.googleapis.com/auth/webmasters.readonlyz*https://www.googleapis.com/auth/webmasters)service_account_key_pathreturnc                 C   s"   t jj| td}td|j |S )z4Load service account credentials from JSON key file.)Zscopesz&Service account credentials loaded: %s)r   CredentialsZfrom_service_account_fileSCOPESloggerinfoZservice_account_email)r   credentials r   -/opt/web_system/seo_auto/src/auth/gsc_auth.pyget_credentials   s     r   )r   c                 C   s   t dd| dd}td |S )z8Build webmasters v3 service (searchAnalytics, sitemaps).
webmastersZv3Fr   Zcache_discoveryzWebmasters v3 service builtr   r	   debugr   servicer   r   r   build_webmasters_service   s    
r   c                 C   s   t dd| dd}td |S )z0Build searchconsole v1 service (URL Inspection).searchconsoleZv1Fr   zSearch Console v1 service builtr   r   r   r   r   build_searchconsole_service    s    
r   c                 C   s,   t | }t|}t|}td |||fS )zAuthenticate and return (webmasters_service, searchconsole_service, credentials).

    Returns:
        Tuple of (webmasters_service, searchconsole_service, credentials)
    zAuthentication complete)r   r   r   r	   r
   )r   r   r   r   r   r   r   authenticate'   s
    
r   )__doc__loggingZgoogle.oauth2r   Zgoogleapiclient.discoveryr   	getLoggerr	   r   strr   r   r   r   tupler   r   r   r   r   <module>   s   
	