
    dhn                        S SK Jr  S SKJrJrJrJrJrJrJ	r	J
r
  S SKJr  S SKJr  \(       a  S SKrS SKJrJr  S
S jr " S S	\5      rg)    )annotations)TYPE_CHECKINGAnyDictIterableListOptionalSequenceUnionDocument)
BaseLoaderN)OAuth2BearerHandlerOAuthHandlerc                 B     SS K n U $ ! [         a    [        S5      ef = f)Nr   zEtweepy package not found, please install it with `pip install tweepy`)tweepyImportError)r   s    d/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/twitter.py_dependable_tweepy_importr      s2    

 M	  
S
 	

s    c                      \ rS rSrSr S
     SS jjrSS jr      SS jr\ S
       SS jj5       r	\ S
             SS jj5       r
Srg	)TwitterTweetLoader   zLoad `Twitter` tweets.

Read tweets of the user's Twitter handle.

First you need to go to
`https://developer.twitter.com/en/docs/twitter-api
/getting-started/getting-access-to-the-twitter-api`
to get your token. And create a v2 version of the app.
c                (    Xl         X l        X0l        g )N)authtwitter_usersnumber_tweets)selfauth_handlerr   r   s       r   __init__TwitterTweetLoader.__init__#   s     !	**    c                >   [        5       nUR                  " U R                  UR                  R	                  5       S9n/ nU R
                   HM  nUR                  X@R                  S9nUR                  US9nU R                  XV5      nUR                  U5        MO     U$ )zLoad tweets.)parser)screen_namecount)r$   )r   APIr   parsers
JSONParserr   user_timeliner   get_user_format_tweetsextend)r   r   apiresultsusernametweetsuserdocss           r   loadTwitterTweetLoader.load-   s    *,jj6>>+D+D+FG"$**H&&8CUCU&VF<<H<5D&&v4DNN4 	 +
 r!   c              #  L   #    U H  nUS   US.n[        US   US9v   M     g7f)zFormat tweets into a string.
created_at)r6   	user_infotext)page_contentmetadataNr   )r   r0   r7   tweetr:   s        r   r+   !TwitterTweetLoader._format_tweets:   s<      E#L1&H "6]!  s   "$c                J    [        5       nUR                  " U5      nU " UUUS9$ )z5Create a TwitterTweetLoader from OAuth2 bearer token.r   r   r   )r   r   )clsoauth2_bearer_tokenr   r   r   r   s         r   from_bearer_token$TwitterTweetLoader.from_bearer_tokenH   s3     +,))*=>''
 	
r!   c                L    [        5       nUR                  " UUUUS9nU " UUUS9$ )z;Create a TwitterTweetLoader from access tokens and secrets.)access_tokenaccess_token_secretconsumer_keyconsumer_secretr>   )r   r   )	r?   rD   rE   rF   rG   r   r   r   r   s	            r   from_secretsTwitterTweetLoader.from_secretsX   s@     +,""% 3%+	
 ''
 	
r!   )r   r   r   N)d   )r   z(Union[OAuthHandler, OAuth2BearerHandler]r   Sequence[str]r   Optional[int])returnzList[Document])r0   zList[Dict[str, Any]]r7   dictrM   zIterable[Document])r@   strr   rK   r   rL   rM   r   )rD   rO   rE   rO   rF   rO   rG   rO   r   rK   r   rL   rM   r   )__name__
__module____qualname____firstlineno____doc__r   r3   r+   classmethodrA   rH   __static_attributes__ r!   r   r   r      s     (+	+>+ %+ %	+*7;	 
 (+	
 
 %
 %	

 

 
  (+

 !
 	

 
 %
 %
 

 
r!   r   )rM   r   )
__future__r   typingr   r   r   r   r   r	   r
   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   r   r   r   r   r   rW   r!   r   <module>r\      s3    " V V V - @8V
 V
r!   