[bitbake-devel] [PATCH 3/9] toaster: automatically enable applications

Alex DAMIAN alexandru.damian at intel.com
Fri Jul 4 12:44:20 UTC 2014


From: Alexandru DAMIAN <alexandru.damian at intel.com>

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 <alexandru.damian at intel.com>
---
 lib/toaster/toastermain/settings.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/toaster/toastermain/settings.py b/lib/toaster/toastermain/settings.py
index 2ce10c4..97f2ff7 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.
-- 
1.9.1




More information about the bitbake-devel mailing list