def autodiscover(): '''autodiscover tasks.py files in much the same way as admin app''' import imp from django.conf import settings for app in settings.INSTALLED_APPS: try: app_path = import_module(app).__path__ except AttributeError: continue try: imp.find_module('tasks', app_path) except ImportError: continue import_module("%s.tasks" % app)
def request_factory_login(factory, user=None): """Based on this gist: https://gist.github.com/964472""" engine = import_module(settings.SESSION_ENGINE) request = factory.request() # request.session = engine.SessionStore() # request.session[SESSION_KEY] = user.id request.user = user or AnonymousUser() return request
def autodiscover(): """ Autodiscover tasks.py files in much the same way as admin app TODO: Is this code needed? Seems to be legacy code """ import imp from django.conf import settings for app in settings.INSTALLED_APPS: try: app_path = import_module(app).__path__ except (AttributeError, ImportError): continue try: imp.find_module('tasks', app_path) except ImportError: continue import_module("%s.tasks" % app)
def test_compat(self): from compat import import_module from compat import __all__ compat = import_module('compat') for n in __all__: getattr(compat, n) self.assertTrue(True)
def test_compat_models(self): compat_models = import_module('compat.models') for attribute in compat_models.__all__: if is_compatible(attribute, django.VERSION[:2], 'models'): self.assertTrue(hasattr(compat_models, attribute))
def test_compat(self): compat = import_module('compat') for attribute in compat.__all__: if is_compatible(attribute, django.VERSION[:2]): self.assertTrue(hasattr(compat, attribute))
def test_loader(self): "Normal module existence can be tested" test_module = import_module('compat.tests.utils_tests.test_module') test_no_submodule = import_module( 'compat.tests.utils_tests.test_no_submodule') # An importable child self.assertTrue(module_has_submodule(test_module, 'good_module')) mod = import_module('compat.tests.utils_tests.test_module.good_module') self.assertEqual(mod.content, 'Good Module') # A child that exists, but will generate an import error if loaded self.assertTrue(module_has_submodule(test_module, 'bad_module')) with self.assertRaises(ImportError): import_module('compat.tests.utils_tests.test_module.bad_module') # A child that doesn't exist self.assertFalse(module_has_submodule(test_module, 'no_such_module')) with self.assertRaises(ImportError): import_module( 'compat.tests.utils_tests.test_module.no_such_module') # A child that doesn't exist, but is the name of a package on the path self.assertFalse(module_has_submodule(test_module, 'django')) with self.assertRaises(ImportError): import_module('compat.tests.utils_tests.test_module.django') # Don't be confused by caching of import misses import types # NOQA: causes attempted import of utils_tests.types self.assertFalse( module_has_submodule(sys.modules['compat.tests.utils_tests'], 'types')) # A module which doesn't have a __path__ (so no submodules) self.assertFalse(module_has_submodule(test_no_submodule, 'anything')) with self.assertRaises(ImportError): import_module( 'compat.tests.utils_tests.test_no_submodule.anything')
def invitation_backend(): # TODO exception handling class_module, class_name = ORGS_INVITATION_BACKEND.rsplit('.', 1) mod = import_module(class_module) return getattr(mod, class_name)()
def registration_backend(): class_module, class_name = ORGS_REGISTRATION_BACKEND.rsplit('.', 1) mod = import_module(class_module) return getattr(mod, class_name)()
def test_loader(self): "Normal module existence can be tested" test_module = import_module('compat.tests.utils_tests.test_module') test_no_submodule = import_module( 'compat.tests.utils_tests.test_no_submodule') # An importable child self.assertTrue(module_has_submodule(test_module, 'good_module')) mod = import_module('compat.tests.utils_tests.test_module.good_module') self.assertEqual(mod.content, 'Good Module') # A child that exists, but will generate an import error if loaded self.assertTrue(module_has_submodule(test_module, 'bad_module')) with self.assertRaises(ImportError): import_module('compat.tests.utils_tests.test_module.bad_module') # A child that doesn't exist self.assertFalse(module_has_submodule(test_module, 'no_such_module')) with self.assertRaises(ImportError): import_module('compat.tests.utils_tests.test_module.no_such_module') # A child that doesn't exist, but is the name of a package on the path self.assertFalse(module_has_submodule(test_module, 'django')) with self.assertRaises(ImportError): import_module('compat.tests.utils_tests.test_module.django') # Don't be confused by caching of import misses import types # NOQA: causes attempted import of utils_tests.types self.assertFalse(module_has_submodule(sys.modules['compat.tests.utils_tests'], 'types')) # A module which doesn't have a __path__ (so no submodules) self.assertFalse(module_has_submodule(test_no_submodule, 'anything')) with self.assertRaises(ImportError): import_module('compat.tests.utils_tests.test_no_submodule.anything')