Ejemplo n.º 1
0
    def _getLoader(self, dottedname):
        """Returns a loader object.
        """
        # if dottedname == 'z3c.testsetup':
        #     import pdb;pdb.set_trace()
        # This goes wrong because z3c.testsetup cannot be found when running
        # bin/dependencychecker because it isn't available. So the fallback to
        # the module name would be better in this case!
        # I need to review why this get_loader() stuff is used anyway.
        try:
            loader = runpy.get_loader(dottedname)
        except ImportError:
            loader = None

        if not loader:
            parent_dottedname = '.'.join(dottedname.split('.')[:-1])
            try:
                loader = runpy.get_loader(parent_dottedname)
            except (ImportError, AttributeError):
                loader = None

        if not loader:
            return None

        return loader
Ejemplo n.º 2
0
    def _getLoader(self, dottedname):
        """Returns a loader object.
        """
        # if dottedname == 'z3c.testsetup':
        #     import pdb;pdb.set_trace()
        # This goes wrong because z3c.testsetup cannot be found when running
        # bin/dependencychecker because it isn't available. So the fallback to
        # the module name would be better in this case!
        # I need to review why this get_loader() stuff is used anyway.
        try:
            loader = runpy.get_loader(dottedname)
        except ImportError:
            loader = None

        if not loader:
            parent_dottedname = '.'.join(dottedname.split('.')[:-1])
            try:
                loader = runpy.get_loader(parent_dottedname)
            except (ImportError, AttributeError):
                loader = None

        if not loader:
            return None

        return loader
Ejemplo n.º 3
0
def load_pack(main_file, path, use_globals=True):
    
    import runpy
    
    if use_globals:
        environment = {'NPYCK_' : NpyckUtil(path)}
    else:
        environment = {}
    
    loader = runpy.get_loader(main_file)
    if loader is None:
        raise ImportError("No module named " + main_file)
    code = loader.get_code(main_file)
    if code is None:
        raise ImportError("No code object available for " + main_file)
    
    if sys.version_info[0] == 2:
        if sys.version_info[1] == 5:
            return runpy._run_module_code(code, environment, '__main__',
                            path, loader, True)
        elif sys.version_info[1] == 6:
            return runpy._run_module_code(code, environment, '__main__',
                            path, loader, '__main__')
    
    print "unsupported interpreter version..."