
    Ng                     z    d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ dddd	d
dZ G d de          ZdS )    N)ListOptional)Document)get_from_envstringify_dict)
BaseLoaderz https://api.iugu.com/v1/invoicesz!https://api.iugu.com/v1/customerszhttps://api.iugu.com/v1/chargesz%https://api.iugu.com/v1/subscriptionszhttps://api.iugu.com/v1/plans)invoices	customerschargessubscriptionsplansc                       e Zd ZdZddede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 )
IuguLoaderzLoad from `IUGU`.Nresource	api_tokenreturnc                 P    || _         |pt          dd          }dd| i| _        dS )zInitialize the IUGU resource.

        Args:
            resource: The name of the resource to fetch.
            api_token: The IUGU API token to use.
        r   IUGU_API_TOKENAuthorizationzBearer N)r   r   headers)selfr   r   s      e/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/document_loaders/iugu.py__init__zIuguLoader.__init__   s9     !Lk;K!L!L	')>9)>)>?    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IuguLoader._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)IUGU_ENDPOINTSgetr   r+   )r   endpoints     r   _get_resourcezIuguLoader._get_resource*   s6    !%%dm44I!!(+++r   c                 *    |                                  S r-   )r1   )r   s    r   loadzIuguLoader.load0   s    !!###r   r-   )__name__
__module____qualname____doc__strr   r   r   r   r+   r1   r3    r   r   r   r      s        	@ 	@ 	@# 	@$ 	@ 	@ 	@ 	@D Dh D D D D,tH~ , , , ,$d8n $ $ $ $ $ $r   r   )r$   urllib.requestr    typingr   r   langchain_core.documentsr   langchain_core.utilsr   r   )langchain_community.document_loaders.baser   r.   r   r9   r   r   <module>r?      s         ! ! ! ! ! ! ! ! - - - - - - = = = = = = = = @ @ @ @ @ @ 340<, $ $ $ $ $ $ $ $ $ $r   