
}«‘_·	  ã               @   s<   d  d l  Z  Gd d „  d ƒ Z d Z e e e ƒ j ƒ  d S)	é    Nc               @   sa   e  Z d  Z d Z f  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   s7   | |  _  t | ƒ |  _ | p- | j d d ƒ |  _ d  S)NÚexternÚ_vendor)Ú	root_nameÚsetÚvendored_namesÚreplaceÚ
vendor_pkg)Úselfr   r   r	   © r   úF/tmp/pip-build-3_sjtvrs/pkg-resources/pkg_resources/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   sL   | j  |  j d ƒ \ } } } | r) d St t | j |  j ƒ ƒ sH d 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  |  j d ƒ \ } } } x� |  j D]j } yO | | } t | ƒ t j | } | t j | <t j d k ry t j | =| SWq) t k
 r’ Yq) Xq) Wt d j t	 ƒ  �  ƒ ‚ d S)zK
        Iterate over the search path to locate and load fullname.
        r   é   z•The '{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   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 k r t  j j |  ƒ d S)zR
        Install this importer into sys.meta_path if not already present.
        N)r   Ú	meta_pathÚappend)r
   r   r   r   Úinstall@   s    zVendorImporter.install)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r   r&   r)   r   r   r   r   r      s   r   Ú	packagingÚ	pyparsingÚsixÚappdirs)r/   r0   r1   r2   )r   r   Únamesr*   r)   r   r   r   r   Ú<module>   s   D