environment/lib/python2.7/site-packages/nose/importer.py
def importFromDir(self, dir, fqname):
        """Import a module *only* from path, ignoring sys.path and
        reloading if the version in sys.modules is not the one we want.
        """
        dir = os.path.normpath(os.path.abspath(dir))
        log.debug("Import %s from %s", fqname, dir)

        # FIXME reimplement local per-dir cache?
        
        # special case for __main__
        if fqname == '__main__':
            return sys.modules[fqname]
        
        if self.config.addPaths:
            add_path(dir, self.config)
            
        path = [dir]
        parts = fqname.split('.')
        part_fqname = ''
        mod = parent = fh = None

        for part in parts:
            if part_fqname == '':
                part_fqname = part
            else:
                part_fqname = "%s.%s" % (part_fqname, part)
            try:
                acquire_lock()
                log.debug("find module part %s (%s) in %s",
                          part, part_fqname, path)
                fh, filename, desc = find_module(part, path)
                old = sys.modules.get(part_fqname)
                if old is not None:
                    # test modules frequently have name overlap; make sure
                    # we get a fresh copy of anything we are trying to load
                    # from a new path
                    log.debug("sys.modules has %s as %s", part_fqname, old)
                    if (self.sameModule(old, filename)
                        or (self.config.firstPackageWins and
                            getattr(old, '__path__', None))):
                        mod = old
                    else:
                        del sys.modules[part_fqname]
                        mod = load_module(part_fqname, fh, filename, desc)
                else:
                    mod = load_module(part_fqname, fh, filename, desc)
            finally:
                if fh:
                    fh.close()
                release_lock()
            if parent:
                setattr(parent, part, mod)
            if hasattr(mod, '__path__'):
                path = mod.__path__
            parent = mod
        return mod
def importFromDir(self, dir, fqname):
        """Import a module *only* from path, ignoring sys.path and
        reloading if the version in sys.modules is not the one we want.
        """
        dir = os.path.normpath(os.path.abspath(dir))
        log.debug("Import %s from %s", fqname, dir)

        # FIXME reimplement local per-dir cache?
        
        # special case for __main__
        if fqname == '__main__':
            return sys.modules[fqname]
        
        if self.config.addPaths:
            add_path(dir, self.config)
            
        path = [dir]
        parts = fqname.split('.')
        part_fqname = ''
        mod = parent = fh = None

        for part in parts:
            if part_fqname == '':
                part_fqname = part
            else:
                part_fqname = "%s.%s" % (part_fqname, part)
            try:
                acquire_lock()
                log.debug("find module part %s (%s) in %s",
                          part, part_fqname, path)
                fh, filename, desc = find_module(part, path)
                old = sys.modules.get(part_fqname)
                if old is not None:
                    # test modules frequently have name overlap; make sure
                    # we get a fresh copy of anything we are trying to load
                    # from a new path
                    log.debug("sys.modules has %s as %s", part_fqname, old)
                    if (self.sameModule(old, filename)
                        or (self.config.firstPackageWins and
                            getattr(old, '__path__', None))):
                        mod = old
                    else:
                        del sys.modules[part_fqname]
                        mod = load_module(part_fqname, fh, filename, desc)
                else:
                    mod = load_module(part_fqname, fh, filename, desc)
            finally:
                if fh:
                    fh.close()
                release_lock()
            if parent:
                setattr(parent, part, mod)
            if hasattr(mod, '__path__'):
                path = mod.__path__
            parent = mod
        return mod
def importFromDir ( self , dir , fqname ) : dir = os . path . normpath ( os . path . abspath ( dir ) ) log . debug ( "Import %s from %s" , fqname , dir ) # FIXME reimplement local per-dir cache? # special case for __main__ if fqname == '__main__' : return sys . modules [ fqname ] if self . config . addPaths : add_path ( dir , self . config ) path = [ dir ] parts = fqname . split ( '.' ) part_fqname = '' mod = parent = fh = None for part in parts : if part_fqname == '' : part_fqname = part else : part_fqname = "%s.%s" % ( part_fqname , part ) try : acquire_lock ( ) log . debug ( "find module part %s (%s) in %s" , part , part_fqname , path ) fh , filename , desc = find_module ( part , path ) old = sys . modules . get ( part_fqname ) if old is not None : # test modules frequently have name overlap; make sure # we get a fresh copy of anything we are trying to load # from a new path log . debug ( "sys.modules has %s as %s" , part_fqname , old ) if ( self . sameModule ( old , filename ) or ( self . config . firstPackageWins and getattr ( old , '__path__' , None ) ) ) : mod = old else : del sys . modules [ part_fqname ] mod = load_module ( part_fqname , fh , filename , desc ) else : mod = load_module ( part_fqname , fh , filename , desc ) finally : if fh : fh . close ( ) release_lock ( ) if parent : setattr ( parent , part , mod ) if hasattr ( mod , '__path__' ) : path = mod . __path__ parent = mod return mod
Import a module *only* from path, ignoring sys.path and
        reloading if the version in sys.modules is not the one we want.
Import a module * only * from path ignoring sys . path and reloading if the version in sys . modules is not the one we want .