3 9ôÂf· ã@s,ddlZGdd„dƒZdZeeeƒjƒdS) éNc@sDeZdZdZfdfdd„Zedd„ƒZd dd„Zd d „Zd d „Z dS)ÚVendorImporterz„ A PEP 302 meta path importer for finding optionally-vendored or otherwise naturally-installed packages from root_name. NcCs&||_t|ƒ|_|p|jddƒ|_dS)NZexternZ_vendor)Ú root_nameÚsetÚvendored_namesÚreplaceÚ vendor_pkg)Úselfrrr©r ú/usr/lib/python3.6/__init__.pyÚ__init__ s zVendorImporter.__init__ccs|jdVdVdS)zL Search first the vendor package then as a natural package. Ú.ÚN)r)rr r r Ú search_paths zVendorImporter.search_pathcCs8|j|jdƒ\}}}|rdStt|j|jƒƒs4dS|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_modules zVendorImporter.find_modulec CsŒ|j|jdƒ\}}}xp|jD]T}y:||}t|ƒtj|}|tj|<tjdkrZtj|=|Stk rpYqXqWtdjft ƒŽƒ‚dS)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)rr) rrrÚ __import__ÚsysÚmodulesÚ version_infoÚ ImportErrorÚformatÚlocals)rrrrrÚprefixZextantÚmodr r r Ú load_module#s     zVendorImporter.load_modulecCs|tjkrtjj|ƒdS)zR Install this importer into sys.meta_path if not already present. N)rÚ meta_pathÚappend)rr r r Úinstall@s zVendorImporter.install)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__r Úpropertyrrr#r&r r r r rs   rÚ packagingÚ pyparsingÚsixÚappdirs)r,r-r.r/)rrÚnamesr'r&r r r r ÚsD