
    dhf                         S SK r S SKrS SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKrS SKJr  S SKJr  S SKJr  S S	KJr   " S
 S\\5      rg)    N)ABC)Path)ListUnion)urlparse)Document)
BaseLoader)Blob)
VsdxParserc                   f    \ rS rSrS\\\4   4S jrSS jr\	S\S\
4S j5       rS\\   4S	 jrS
rg)
VsdxLoader   	file_pathc                 N   [        U5      U l        SU R                  ;   a.  [        R                  R	                  U R                  5      U l        [        R                  R                  U R                  5      (       d  U R                  U R                  5      (       a  [        R                  " U R                  5      nUR                  S:w  a  [        SUR                  -  5      eU R                  U l        [        R                  " 5       U l        U R                  R                  UR                   5        U R                  R"                  U l        OF[        R                  R                  U R                  5      (       d  [        SU R                  -  5      e[%        5       U l        g)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      a/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/vsdx.py__init__VsdxLoader.__init__   s   Y$.. WW//?DN ww~~dnn--$2D2DT^^2T2TT^^,A}}# Imm$ 
 !NNDM%88:DNNN  +!^^00DN//FWXX l    returnNc                 \    [        U S5      (       a  U R                  R                  5         g g )Nr    )hasattrr    close)r%   s    r'   __del__VsdxLoader.__del__*   s$    4%%NN  " &r*   urlc                 z    [        U 5      n[        UR                  5      =(       a    [        UR                  5      $ )zCheck if the url is valid.)r   boolnetlocscheme)r1   parseds     r'   r   VsdxLoader._is_valid_url.   s*     #FMM":tFMM'::r*   c                     [         R                  " U R                  5      n[        U R                  R                  U5      5      $ )N)r
   	from_pathr   listr$   parse)r%   blobs     r'   loadVsdxLoader.load4   s.    ~~dnn-DKK%%d+,,r*   )r   r$   r    r   )r+   N)__name__
__module____qualname____firstlineno__r   r   r   r(   r/   staticmethodr3   r   r   r   r=   __static_attributes__ 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   rE   r*   r'   <module>rN      s4    	     !  : @ B C&-S &-r*   