a
    bg                  	   @   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                   @   sZ   e Zd ZdZeeddddZeee dddZee d	d
dZ	ee d	ddZ
dS )SpreedlyLoaderzLoad from `Spreedly` API.N)access_tokenresourcereturnc                 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   {/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/document_loaders/spreedly.py__init__   s
    
zSpreedlyLoader.__init__)urlr	   c                 C   sr   t jj|| jd}t j|@}t|  }t	|}d|i}t
||dgW  d    S 1 sd0    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_request)r	   c                 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   