def main(argv, environ): alist, args = getopt.getopt(argv[1:], "", ["help"]) for (field, val) in alist: if field == "--help": usage(argv[0]) return dbname = args[0] py_file = args[1] if py_file[-3:] == ".py": py_file = py_file[:-3] dbclassname = args[2] ml = ihooks.ModuleImporter() try: mod = ml.import_module(py_file) except: import handle_error sys.stderr.write("Unable to load file %s\n%s" % (py_file, handle_error.exceptionString())) sys.exit(-1) dbclass = getattr(mod, dbclassname) CDBIGenerator(dbname, dbclass).generate()
def __init__(self): """Create import hook.""" assert self._imp ihooks.ModuleLoader.__init__(self) self._lock = self._imp._lock imp = ihooks.ModuleImporter(loader=self) ihooks.install(imp) self._imp.recordModules()
def install(): global _installed if not _installed: hooks = PTLHooks() loader = PTLLoader(hooks) if cimport is not None: importer = cModuleImporter(loader) else: importer = ihooks.ModuleImporter(loader) ihooks.install(importer) _installed = True
def install(self): """ Install our custom importer that uses bundled packages. """ self.debug('installing custom importer') self._hooks = PackageHooks() self._hooks.packager = self if sys.version_info < (2, 6): self._importer = ihooks.ModuleImporter() else: self.debug('python2.6 or later detected - using patched' ' ModuleImporter') self._importer = _PatchedModuleImporter() self._importer.set_hooks(self._hooks) self._importer.install()
def install(): """Main entry point. call this to install the import hook in your for a single Python process. If you want it to be installed whenever you use Python, add it to your sitecustomize (as described above). """ global _installed if not _installed: hooks = PyxHooks() loader = PyxLoader(hooks) if cimport is not None: importer = cModuleImporter(loader) else: importer = ihooks.ModuleImporter(loader) ihooks.install(importer) _installed = 1
def install(): """Install the import hook""" ihooks.install(ihooks.ModuleImporter(ShortcutLoader()))
line = fp.readline() while line: if len(line) > 7 and line[:7] == 'dlname=': dlname = line[8:-2] elif len(line) > 10 and line[:10] == 'installed=': installed = line[10:-1] == 'yes' line = fp.readline() fp.close() if dlname: if installed: filename = os.path.join(os.path.dirname(filename), dlname) else: filename = os.path.join(os.path.dirname(filename), '.libs', dlname) return ihooks.Hooks.load_dynamic(self, name, filename, file) importer = ihooks.ModuleImporter() importer.set_hooks(LibtoolHooks()) def install(): importer.install() def uninstall(): importer.uninstall() install()
def install(): """Install the import hook""" ihooks.install(ihooks.ModuleImporter(MFileLoader(MFileHooks())))
def activate(self): imp = ihooks.ModuleImporter(loader=modloader) ihooks.install(imp) self.recordModules(sys.modules.keys()) self._installed = True
def install(rulesets): ihooks.install(ihooks.ModuleImporter(RulesetModuleLoader(rulesets)))
"""Compile source files with any line ending.""" if file: file.close() py_compile.compile(filename) # line ending conversion is in here cfile = open(filename + (__debug__ and 'c' or 'o'), 'rb') try: return self.load_compiled(name, filename, cfile) finally: cfile.close() class MyModuleLoader(ihooks.ModuleLoader): def load_module(self, name, stuff): """Special-case package directory imports.""" file, filename, (suff, mode, type) = stuff path = None if type == imp.PKG_DIRECTORY: stuff = self.find_module_in_dir("__init__", filename, 0) file = stuff[0] # package/__init__.py path = [filename] try: # let superclass handle the rest module = ihooks.ModuleLoader.load_module(self, name, stuff) finally: if file: file.close() if path: module.__path__ = path # necessary for pkg.module imports return module ihooks.ModuleImporter(MyModuleLoader(MyHooks())).install()