o
    Zh                  	   @   sj   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 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)Zgateways_optionsZgatewaysZreceivers_optionsZ	receiversZpayment_methodsZcertificatesZtransactionsZenvironmentsc                   @   s`   e Zd ZdZdededdfddZdedee fd	d
Zdee fddZ	dee fddZ
dS )SpreedlyLoaderzLoad from `Spreedly` API.access_tokenresourcereturnNc                 C   s$   || _ || _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    r   d/var/www/html/lang_env/lib/python3.10/site-packages/langchain_community/document_loaders/spreedly.py__init__   s
   
zSpreedlyLoader.__init__urlc                 C   sr   t jj|| jd}t j| }t|  }t	|}d|i}t
||dgW  d    S 1 s2w   Y  d S )N)r   source)Zpage_contentmetadata)urllibrequestRequestr   urlopenjsonloadsreaddecoder   r   )r   r   r   responseZ	json_datatextr   r   r   r   _make_request'   s   $zSpreedlyLoader._make_requestc                 C   s"   t | j}|d u rg S | |S N)SPREEDLY_ENDPOINTSgetr   r   )r   Zendpointr   r   r   _get_resource0   s   
zSpreedlyLoader._get_resourcec                 C   s   |   S r   )r"   )r   r   r   r   load6   s   zSpreedlyLoader.load)__name__
__module____qualname____doc__strr   r   r   r   r"   r#   r   r   r   r   r      s    	r   )r   urllib.requestr   typingr   Zlangchain_core.documentsr   Zlangchain_core.utilsr   Z)langchain_community.document_loaders.baser   r    r   r   r   r   r   <module>   s     