
    7|h                         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y)    N)ABC)Path)ListUnion)urlparse)Document)
BaseLoader)Blob)
VsdxParserc                   V    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y)

VsdxLoader	file_pathc                 &   t        |      | _        d| j                  v r.t        j                  j	                  | j                        | _        t        j                  j                  | j                        s| j                  | j                        rt        j                  | j                        }|j                  dk7  rt        d|j                  z        | j                  | _        t        j                         | _        | j                  j                  |j                          | j                  j"                  | _        nAt        j                  j                  | j                        st        d| j                  z        t%               | _        y)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      h/var/www/html/test/engine/venv/lib/python3.12/site-packages/langchain_community/document_loaders/vsdx.py__init__zVsdxLoader.__init__   s
   Y$.. WW//?DN ww~~dnn-$2D2DT^^2TT^^,A}}# Imm$ 
 !NNDM%88:DNNN  +!^^00DN/FWXX l    returnNc                 R    t        | d      r| j                  j                          y y )Nr   )hasattrr   close)r$   s    r&   __del__zVsdxLoader.__del__*   s!    4%NN  " &r(   urlc                 p    t        |       }t        |j                        xr t        |j                        S )zCheck if the url is valid.)r   boolnetlocscheme)r.   parseds     r&   r   zVsdxLoader._is_valid_url.   s*     #FMM":tFMM'::r(   c                     t        j                  | j                        }t        | j                  j                  |            S )N)r
   	from_pathr   listr#   parse)r$   blobs     r&   loadzVsdxLoader.load4   s.    ~~dnn-DKK%%d+,,r(   )r)   N)__name__
__module____qualname__r   r   r   r'   r-   staticmethodr0   r   r   r   r9    r(   r&   r   r      sN    #%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      s4    	     !  : @ B C&-S &-r(   