From 05b246095d161143ca2ebc126d9e70d198ab8bb8 Mon Sep 17 00:00:00 2001 From: Alexandru DAMIAN Date: Wed, 25 Jun 2014 14:28:36 +0100 Subject: toaster: automatically enable applications We automatically enable local applications in INSTALLED_APPS based on detecting a models.py or views.py file. This allows Toaster extensibility by adding applications, without having to edit configuration files. Signed-off-by: Alexandru DAMIAN --- lib/toaster/toastermain/settings.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib') diff --git a/lib/toaster/toastermain/settings.py b/lib/toaster/toastermain/settings.py index 2ce10c474..97f2ff7ca 100644 --- a/lib/toaster/toastermain/settings.py +++ b/lib/toaster/toastermain/settings.py @@ -243,6 +243,15 @@ INSTALLED_APPS = ( 'bldcontrol', ) +# We automatically detect and install applications here if +# they have a 'models.py' or 'views.py' file +import os +currentdir = os.path.dirname(__file__) +for t in os.walk(os.path.dirname(currentdir)): + modulename = os.path.basename(t[0]) + if ("views.py" in t[2] or "models.py" in t[2]) and not modulename in INSTALLED_APPS: + INSTALLED_APPS.append(modulename) + # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. -- cgit 1.2.3-korg