a
    e0h	                     @   s.   d dl Z G dd dZdZeeed  dS )    Nc                   @   s@   e Zd ZdZdddZedd Zddd	Zd
d Zdd Z	dS )VendorImporterz
    A PEP 302 meta path importer for finding optionally-vendored
    or otherwise naturally-installed packages from root_name.
     Nc                 C   s&   || _ t|| _|p|dd| _d S )Nextern_vendor)	root_namesetvendored_namesreplace
vendor_pkg)selfr   r   r
   r   r   H/var/www/auris/lib/python3.9/site-packages/setuptools/extern/__init__.py__init__
   s    
zVendorImporter.__init__c                 c   s   | j d V  dV  dS )zL
        Search first the vendor package then as a natural package.
        . N)r
   r   r   r   r   search_path   s    zVendorImporter.search_pathc                 C   s8   | | jd \}}}|rdS tt|j| js4dS | S )z
        Return self when fullname starts with root_name and the
        target module is one vendored through this importer.
        r   N)	partitionr   anymap
startswithr   )r   fullnamepathrootbasetargetr   r   r   find_module   s    zVendorImporter.find_modulec              	   C   s   | | jd \}}}| jD ]X}z@|| }t| tj| }|tj|< tjdkrXtj|= |W   S  tyr   Y q0 qtdjf i t	 dS )zK
        Iterate over the search path to locate and load fullname.
        r   )   zThe '{target}' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.N)
r   r   r   
__import__sysmodulesversion_infoImportErrorformatlocals)r   r   r   r   r   prefixextantmodr   r   r   load_module#   s"    




zVendorImporter.load_modulec                 C   s   | t jvrt j|  dS )zR
        Install this importer into sys.meta_path if not already present.
        N)r   	meta_pathappendr   r   r   r   install@   s    
zVendorImporter.install)r   N)N)
__name__
__module____qualname____doc__r   propertyr   r   r'   r*   r   r   r   r   r      s   


r   )six	packaging	pyparsingZordered_setzsetuptools._vendor)r   r   namesr+   r*   r   r   r   r   <module>   s   D