
    Ng              	       x    d dl Z d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 dddd	d
ddddZ G d de
          ZdS )    N)List)Document)stringify_dict)
BaseLoaderz2https://core.spreedly.com/v1/gateways_options.jsonz*https://core.spreedly.com/v1/gateways.jsonz3https://core.spreedly.com/v1/receivers_options.jsonz+https://core.spreedly.com/v1/receivers.jsonz1https://core.spreedly.com/v1/payment_methods.jsonz.https://core.spreedly.com/v1/certificates.jsonz.https://core.spreedly.com/v1/transactions.jsonz.https://core.spreedly.com/v1/environments.json)gateways_optionsgatewaysreceivers_options	receiverspayment_methodscertificatestransactionsenvironmentsc                   r    e Zd ZdZdededdfdZdedee         fdZdee         fd	Z	dee         fd
Z
dS )SpreedlyLoaderzLoad from `Spreedly` API.access_tokenresourcereturnNc                 F    || _         || _        d| j          dd| _        dS )zInitialize with an access token and a resource.

        Args:
            access_token: The access token.
            resource: The resource.
        zBearer zapplication/json)AuthorizationAcceptN)r   r   headers)selfr   r   s      i/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/document_loaders/spreedly.py__init__zSpreedlyLoader.__init__   s6     ) :t'8::(
 
    urlc                 z   t           j                            || j                  }t           j                            |          5 }t          j        |                                                                          }t          |          }d|i}t          ||          gcd d d            S # 1 swxY w Y   d S )N)r   source)page_contentmetadata)urllibrequestRequestr   urlopenjsonloadsreaddecoder   r   )r   r   r"   response	json_datatextr    s          r   _make_requestzSpreedlyLoader._make_request'   s    .((dl(CC^##G,, 	D
8==??#9#9#;#;<<I!),,D #H$BBBC		D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   AB00B47B4c                 r    t                               | j                  }|g S |                     |          S N)SPREEDLY_ENDPOINTSgetr   r,   )r   endpoints     r   _get_resourcezSpreedlyLoader._get_resource0   s6    %))$-88I!!(+++r   c                 *    |                                  S r.   )r2   )r   s    r   loadzSpreedlyLoader.load6   s    !!###r   )__name__
__module____qualname____doc__strr   r   r   r,   r2   r4    r   r   r   r      s        ##
S 
C 
D 
 
 
 
D Dh D D D D,tH~ , , , ,$d8n $ $ $ $ $ $r   r   )r%   urllib.requestr!   typingr   langchain_core.documentsr   langchain_core.utilsr   )langchain_community.document_loaders.baser   r/   r   r:   r   r   <module>r@      s               - - - - - - / / / / / / @ @ @ @ @ @ M<N>JDDD	 	 !$ !$ !$ !$ !$Z !$ !$ !$ !$ !$r   