o
    JPZ@
                     @   s|   d dl Z zd dlZW n ey   d dlmZ Y nw d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ dd	 ZdS )
    N)parse)
FileReader)	ZipReader)
HttpReader)	FtpReader)errorc            	      O   s  g }| D ]}t  |}tjdd dk rPG dd dt}||}td|d D ](\}}|dkrI|d r9|d d	krI|d d
sG|d drId}t||| q'|jdv r|j}|d	krk|jd
sh|jdrkd}nd	}|d	kr|	t
|jjdi | q|	t|jjdi | q|jdv r|	t|jp|j|jpd|j|jdkdjdi | q|jdv r|	t|jp|j|j|jdk|jpd|jpd|jpddjdi | qtd| |S )Nr      )r      c                   @   s   e Zd ZdS )z'getReadersFromUrls.<locals>.ParseResultN)__name__
__module____qualname__ r   r   2/usr/lib/python3/dist-packages/pysmi/reader/url.pyParseResult   s    r   )
schemenetlocpathparamsZqueryZfragmentusernamepasswordhostnameport) r   r   Nr   filez.zipz.ZIPzip)r   r   r   )ZhttphttpsP   r   )ssl)Zftpsftpr      Z	anonymousz
anonymous@)r   r   userr   zUnsupported URL scheme %sr   )urlparsesysversion_infotupler   endswithsetattrr   r   appendr   Z
setOptionsr   r   r   r   r   r   r   r   r   Z
PySmiError)	Z
sourceUrlsoptionsZreadersZ	sourceUrlZ	mibSourcer   kvr   r   r   r   getReadersFromUrls   sZ   





r+   )r"   r!   ImportErrorZurllibr   Zpysmi.reader.localfiler   Zpysmi.reader.zipreaderr   Zpysmi.reader.httpclientr   Zpysmi.reader.ftpclientr   Zpysmir   r+   r   r   r   r   <module>   s   