Exemplo n.º 1
0
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()
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
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
Exemplo n.º 4
0
 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()
Exemplo n.º 5
0
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
Exemplo n.º 6
0
def install():
    """Install the import hook"""
    ihooks.install(ihooks.ModuleImporter(ShortcutLoader()))
Exemplo n.º 7
0
            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()
Exemplo n.º 8
0
def install():
    """Install the import hook"""
    ihooks.install(ihooks.ModuleImporter(MFileLoader(MFileHooks())))
Exemplo n.º 9
0
 def activate(self):
     imp = ihooks.ModuleImporter(loader=modloader)
     ihooks.install(imp)
     self.recordModules(sys.modules.keys())
     self._installed = True
Exemplo n.º 10
0
def install(rulesets):
    ihooks.install(ihooks.ModuleImporter(RulesetModuleLoader(rulesets)))
Exemplo n.º 11
0
        """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()