
    dh                     ^    S SK r S SKrS SKJrJr  S SKJr  S SKJ	r	  S SK
Jr   " S S\5      rg)    N)AnyList)Document)stringify_dict)
BaseLoaderc                   ^    \ rS rSrSrS\S\S\4S jrS\4S jrS\4S	 jr	S\
\   4S
 jrSrg)FigmaFileLoader   zLoad `Figma` file.access_tokenidskeyc                 (    Xl         X l        X0l        g)zInitialize with access token, ids, and key.

Args:
    access_token: The access token for the Figma REST API.
    ids: The ids of the Figma file.
    key: The key for the Figma file
Nr   r   r   )selfr   r   r   s       b/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/figma.py__init__FigmaFileLoader.__init__   s     )    returnc                 B    SU R                   < SU R                  < 3nU$ )Nzhttps://api.figma.com/v1/files/z/nodes?ids=)r   r   )r   api_urls     r   _construct_figma_api_url(FigmaFileLoader._construct_figma_api_url   s    HHHH
 r   c                 R   SU R                   0n[        R                  R                  U R	                  5       US9n[        R                  R                  U5       n[        R                  " UR                  5       R                  5       5      nUsSSS5        $ ! , (       d  f       g= f)z#Get Figma file from Figma REST API.zX-Figma-Token)headersN)
r   urllibrequestRequestr   urlopenjsonloadsreaddecode)r   r   r   response	json_datas        r   _get_figma_fileFigmaFileLoader._get_figma_file!   s{    "D$5$56..(())+W ) 
 ^^##G,

8==?#9#9#;<I -,,s   4B
B&c                 p    U R                  5       n[        U5      nSU R                  5       0n[        X#S9/$ )z	Load filesource)page_contentmetadata)r&   r   r   r   )r   datatextr+   s       r   loadFigmaFileLoader.load+   s;    ##%d#d;;=>d>??r   r   N)__name__
__module____qualname____firstlineno____doc__strr   r   r   r&   r   r   r.   __static_attributes__ r   r   r	   r	      sI    
S 
s 
 
#  @d8n @r   r	   )r    urllib.requestr   typingr   r   langchain_core.documentsr   langchain_core.utilsr   )langchain_community.document_loaders.baser   r	   r7   r   r   <module>r=      s%       - / @%@j %@r   