def test_do_not_load_twice(self): sys.path.insert(0, self.datadir) foo = modutils.load_module_from_modpath(['lmfp', 'foo']) lmfp = modutils.load_module_from_modpath(['lmfp']) self.assertEqual(len(sys.just_once), 1) sys.path.pop(0) del sys.just_once
def test_load_module_set_attribute(self): import logilab.common.fileutils import logilab del logilab.common.fileutils del sys.modules['logilab.common.fileutils'] m = modutils.load_module_from_modpath(['logilab', 'common', 'fileutils']) self.assertTrue( hasattr(logilab, 'common') ) self.assertTrue( hasattr(logilab.common, 'fileutils') ) self.assertTrue( m is logilab.common.fileutils )
def test_load_module_set_attribute(self): import logilab.common.fileutils import logilab del logilab.common.fileutils del sys.modules['logilab.common.fileutils'] m = modutils.load_module_from_modpath(['logilab', 'common', 'fileutils']) self.assert_( hasattr(logilab, 'common') ) self.assert_( hasattr(logilab.common, 'fileutils') ) self.assert_( m is logilab.common.fileutils )
def test_load_module_set_attribute(self): import logilab.common.fileutils import logilab del logilab.common.fileutils del sys.modules["logilab.common.fileutils"] m = modutils.load_module_from_modpath(["logilab", "common", "fileutils"]) self.assert_(hasattr(logilab, "common")) self.assert_(hasattr(logilab.common, "fileutils")) self.assert_(m is logilab.common.fileutils)
def load_django_settings(self, dirname): """try to find project's setting and load it""" curdir = osp.abspath(dirname) previousdir = curdir while not osp.isfile(osp.join(curdir, 'settings.py')) and \ osp.isfile(osp.join(curdir, '__init__.py')): newdir = osp.normpath(osp.join(curdir, os.pardir)) if newdir == curdir: raise AssertionError('could not find settings.py') previousdir = curdir curdir = newdir # late django initialization settings = load_module_from_modpath(modpath_from_file(osp.join(curdir, 'settings.py'))) from django.core.management import setup_environ setup_environ(settings) settings.DEBUG = False self.settings = settings # add settings dir to pythonpath since it's the project's root if curdir not in sys.path: sys.path.insert(1, curdir)