#from django.utils.importlib import import_module #from django.utils.module_loading import module_has_submodule #def autodiscover(module): # """ Auto-discover INSTALLED_APPS module.py """ # from django.conf import settings # for app in settings.INSTALLED_APPS: # mod = import_module(app) # try: # import_module('%s.%s' % (app, module)) # except ImportError: # # Decide whether to bubble up this error. If the app just # # doesn't have the module, we can ignore the error # # attempting to import it, otherwise we want it to bubble up. # if module_has_submodule(mod, module): # print '%s module caused this error:' % module # raise def isinstalled(app): """ returns True if app is installed """ from django.conf import settings return app in settings.INSTALLED_APPS def add_app(INSTALLED_APPS, app, prepend=False, append=True): """ add app to installed_apps """ if app not in INSTALLED_APPS: if prepend: return (app,) + INSTALLED_APPS else: return INSTALLED_APPS + (app,) return INSTALLED_APPS def remove_app(INSTALLED_APPS, app): """ remove app from installed_apps """ if app in INSTALLED_APPS: apps = list(INSTALLED_APPS) apps.remove(app) return tuple(apps) return INSTALLED_APPS