
    Ng                         d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
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  G d
 dee          ZdS )    N)ABC)Path)ListUnion)urlparse)Document)
BaseLoader)Blob)
VsdxParserc                   j    e Zd Zdeeef         fdZd	dZedede	fd            Z
dee         fdZdS )

VsdxLoader	file_pathc                    t          |          | _        d| j        v r)t          j                            | j                  | _        t          j                            | j                  s|                     | j                  rt          j        | j                  }|j	        dk    rt          d|j	        z            | j        | _        t          j                    | _        | j                            |j                   | j        j        | _        n;t          j                            | j                  st          d| j        z            t%                      | _        dS )zInitialize with file path.~   z3Check the url of your file; returned status code %sz'File path %s is not a valid file or urlN)strr   ospath
expanduserisfile_is_valid_urlrequestsgetstatus_code
ValueErrorweb_pathtempfileNamedTemporaryFile	temp_filewritecontentnamer   parser)selfr   rs      e/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/document_loaders/vsdx.py__init__zVsdxLoader.__init__   s$   Y$.  W//??DN w~~dn-- 	Y$2D2DT^2T2T 	YT^,,A}## Im$  
 !NDM%8::DNN  +++!^0DNN// 	YFWXXX ll    returnNc                 \    t          | d          r| j                                         d S d S )Nr   )hasattrr   close)r$   s    r&   __del__zVsdxLoader.__del__*   s8    4%% 	#N  """""	# 	#r(   urlc                 p    t          |           }t          |j                  ot          |j                  S )zCheck if the url is valid.)r   boolnetlocscheme)r.   parseds     r&   r   zVsdxLoader._is_valid_url.   s.     #FM"":tFM':'::r(   c                     t          j        | j                  }t          | j                            |                    S )N)r
   	from_pathr   listr#   parse)r$   blobs     r&   loadzVsdxLoader.load4   s1    ~dn--DK%%d++,,,r(   )r)   N)__name__
__module____qualname__r   r   r   r'   r-   staticmethodr0   r   r   r   r9    r(   r&   r   r      s        #%T	"2 # # # #2# # # # ;3 ;4 ; ; ; \;
-d8n - - - - - -r(   r   )r   r   abcr   pathlibr   typingr   r   urllib.parser   r   %langchain_community.docstore.documentr   )langchain_community.document_loaders.baser	   1langchain_community.document_loaders.blob_loadersr
   ,langchain_community.document_loaders.parsersr   r   r>   r(   r&   <module>rG      s    				                      ! ! ! ! ! !  : : : : : : @ @ @ @ @ @ B B B B B B C C C C C C&- &- &- &- &-S &- &- &- &- &-r(   