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
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
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