3 eX @sddZddlZddlZddlZddlmZdZdZdZ dZ dZ d d Z dd d Z dd dZddZdS)zX Re-implementation of find_module and get_frozen_object from the deprecated imp module. N)module_from_speccCs(t|trtjjjntjj}|||S)N) isinstancelist importlib machinery PathFinder find_specutil)modulepathsfinderr5/tmp/pip-build-vlmub77e/setuptools/setuptools/_imp.pyr sr c CsTt||}|dkrtd||j r@t|dr@tjjd|j}d }d}t|jt }|j dksr|rt |jtj j rt}d}d}}n|j dks|rt |jtj jrt}d}d}}n|jr8|j }tjj|d}|tj jkrd nd }|tj jkrt}n&|tj jkr t}n|tj jkrt}|tthkrDt||}n d}d}}|||||ffS) z7Just like 'imp.find_module()', but with package supportNz Can't find %ssubmodule_search_locationsz __init__.pyrfrozenzbuilt-inrrb)r ImportError has_locationhasattrr rspec_from_loaderloaderrtypeorigin issubclassr FrozenImporter PY_FROZENBuiltinImporter C_BUILTINospathsplitextSOURCE_SUFFIXES PY_SOURCEBYTECODE_SUFFIXES PY_COMPILEDEXTENSION_SUFFIXES C_EXTENSIONopen) rrspeckindfileZstaticr'suffixmoderrr find_modulesB       r5cCs&t||}|std||jj|S)Nz Can't find %s)r rrget_code)rrr0rrrget_frozen_objectGs  r7cCs"t||}|std|t|S)Nz Can't find %s)r rr)rrinfor0rrr get_moduleNs  r9)N)N)__doc__r&importlib.utilr importlib.machineryZ py34compatrr*r,r.r%r#r r5r7r9rrrrs  *