
    dh
                     ^    S r SSKJrJrJrJr  SSKJrJr  SSK	J
r
JrJrJr   " S S\
5      rg)z&Util that calls Google Scholar Search.    )AnyDictOptionalcast)convert_to_secret_strget_from_dict_or_env)	BaseModel
ConfigDict	SecretStrmodel_validatorc                       \ rS rSr% SrSr\\S'   Sr\	\
   \S'   \" SS9r\" SS	9\S
\S\4S j5       5       rS\S\4S jrSrg)GoogleJobsAPIWrapper	   a%  Wrapper for SerpApi's Google Scholar API

You can create SerpApi.com key by signing up at: https://serpapi.com/users/sign_up.
The wrapper uses the SerpApi.com python package:
https://serpapi.com/integrations/python
To use, you should have the environment variable ``SERPAPI_API_KEY``
set with your API key, or pass `serp_api_key` as a named parameter
to the constructor.
 Example:
    .. code-block:: python
    from langchain_community.utilities import GoogleJobsAPIWrapper
    google_Jobs = GoogleJobsAPIWrapper()
    google_Jobs.run('langchain')
Nserp_search_engineserp_api_keyforbid)extrabefore)modevaluesreturnc                     [        [        USS5      5      US'    SSKJn  UnX1S'   U$ ! [         a    [	        S5      ef = f)z?Validate that api key and python package exists in environment.r   SERPAPI_API_KEYr   )SerpApiClientzigoogle-search-results is not installed. Please install it with `pip install google-search-results>=2.4.2`r   )r   r   serpapir   ImportError)clsr   r   r   s       a/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/utilities/google_jobs.pyvalidate_environment)GoogleJobsAPIWrapper.validate_environment    sa     "7 9JK"
~	- +'9#$  	 	s   ) ?queryc                 B   [        [        U R                  5      nSUR                  5       US.n/ nU R	                  U5      nUR                  5       S   nSn[        S5       H6  nXG   nUSSUS    S	3-   S
US    S	3-   SUS    S	3-   SUS    3-   S-   -  nM8     US	-   $ )z,Run query through Google Trends with Serpapigoogle_jobs)engineapi_keyqjobs_results    z0
_______________________________________________z
Job Title: title
zCompany Name: company_namez
Location: locationzDescription: descriptionz1
_______________________________________________
)r   r   r   get_secret_valuer   get_dictrange)	selfr!   serpapi_api_keyparamstotal_resultsclientres_strijobs	            r   runGoogleJobsAPIWrapper.run6   s     y$*;*;<#&779
 ((0).9 qA"CC!#g,r23"3~#6"7r:; s:/r23 "#m"4!56	7
 HHG  ~     )__name__
__module____qualname____firstlineno____doc__r   r   __annotations__r   r   r   r
   model_configr   classmethodr   r   strr:   __static_attributes__r=   r<   r   r   r   	   sr     #"(,L(9%,L (#$ 3   $(  r<   r   N)rB   typingr   r   r   r   langchain_core.utilsr   r   pydanticr	   r
   r   r   r   r=   r<   r   <module>rK      s%    , , , L F FI9 Ir<   