Example #1
0
def zip_import_data(filepath):
    if zipimport is None:
        return None, None
    for ext in ('.zip', '.egg'):
        try:
            eggpath, resource = filepath.split(ext + '/', 1)
        except ValueError:
            continue
        try:
            importer = zipimport.zipimporter(eggpath + ext)
            return importer.get_source(resource), resource.replace('/', '.')
        except:
            continue
    return None, None
Example #2
0
def zip_import_data(filepath):
    if zipimport is None:
        return None, None
    for ext in ('.zip', '.egg'):
        try:
            eggpath, resource = filepath.split(ext + '/', 1)
        except ValueError:
            continue
        try:
            importer = zipimport.zipimporter(eggpath + ext)
            return importer.get_source(resource), resource.replace('/', '.')
        except:
            continue
    return None, None
Example #3
0
 def zip_import_data(self, filepath):
     if zipimport is None:
         return None
     from logilab.astng.builder import ASTNGBuilder
     builder = ASTNGBuilder(self)
     for ext in ('.zip', '.egg'):
         try:
             eggpath, resource = filepath.rsplit(ext + '/', 1)
         except ValueError:
             continue
         try:
             importer = zipimport.zipimporter(eggpath + ext)
             zmodname = resource.replace('/', '.')
             if importer.is_package(resource):
                 zmodname = zmodname + '.__init__'
             module = builder.string_build(importer.get_source(resource),
                                           zmodname, filepath)
             return module
         except:
             continue
     return None
Example #4
0
 def zip_import_data(self, filepath):
     if zipimport is None:
         return None
     from astroid.builder import AstroidBuilder
     builder = AstroidBuilder(self)
     for ext in ('.zip', '.egg'):
         try:
             eggpath, resource = filepath.rsplit(ext + '/', 1)
         except ValueError:
             continue
         try:
             importer = zipimport.zipimporter(eggpath + ext)
             zmodname = resource.replace('/', '.')
             if importer.is_package(resource):
                 zmodname =  zmodname + '.__init__'
             module = builder.string_build(importer.get_source(resource),
                                           zmodname, filepath)
             return module
         except:
             continue
     return None