settings can be modified in myslice.ini
authorCiro Scognamiglio <ciro.scognamiglio@cslash.net>
Wed, 11 Mar 2015 15:54:57 +0000 (16:54 +0100)
committerCiro Scognamiglio <ciro.scognamiglio@cslash.net>
Wed, 11 Mar 2015 15:54:57 +0000 (16:54 +0100)
.gitignore
myslice/components.py
myslice/myslice.ini.dist [new file with mode: 0644]
myslice/settings.py

index bf4b0b5..21f5aa6 100644 (file)
@@ -16,9 +16,10 @@ plugins/*/*.css
 plugins/*/*.js
 plugins/*/*.html
 # myslice.ini* is not intended to be under git as it may contain keys and other specifics
-myslice.ini*
-# other junk
+myslice.ini
+#other junk
 foo.*
 .project
+.settings
 .pydevproject
-/sla/trashcan
\ No newline at end of file
+/sla/trashcan
index 44d6624..cfabb63 100644 (file)
@@ -1,10 +1,13 @@
 from django.conf.urls import include, url
 from myslice.configengine import ConfigEngine
 
-def urls():
+def list():
     config = ConfigEngine()
+    return config.myslice.components.split(',')
+
+def urls():
     u = []
-    for component in config.myslice.components.split(','):
+    for component in list():
         try:
             __import__(component)
             u.append( url(r'^%s/' % component, include('%s.urls' % component)) )
@@ -14,3 +17,4 @@ def urls():
             print "-> Loaded component %s" % component
             
     return u
+
diff --git a/myslice/myslice.ini.dist b/myslice/myslice.ini.dist
new file mode 100644 (file)
index 0000000..581d245
--- /dev/null
@@ -0,0 +1,16 @@
+[manifold]
+url = https://portal.onelab.eu:7080
+admin_user = 
+admin_password = 
+
+[myslice]
+theme = onelab
+debug = true
+httproot =
+dataroot =
+components = sla,influxdb,forge
+
+[activity]
+#server = http://athos.ipv6.lip6.fr/activity/push/log
+#apikey = 
+#secret = 
index a9018f2..2586823 100644 (file)
@@ -1,7 +1,8 @@
-# Django settings for unfold project.
-
 from __future__ import print_function
 
+import myslice.components
+from myslice.configengine import ConfigEngine
+
 import os.path
 
 # import djcelery
@@ -14,53 +15,51 @@ try:
 except:
     building=True
 
-DEBUG = True
+config = ConfigEngine()
+
+if config.myslice.debug :
+    DEBUG = True
+else :
+    DEBUG = False
 
 # show the various settings as we go
 DEBUG_SETTINGS = False
 
-# compute ROOT from where this file is installed
-# should fit every need including developers
 # but you can redefine ROOT if that's not working for you
 try:
     # get the directory where this file is
-    ROOT=os.path.dirname(__file__) or '.'
-    # move one step up
-    ROOT=os.path.realpath(ROOT+'/..')
+    ROOT = os.path.realpath(os.path.dirname(__file__) + '/..')
 except:
     # something is badly wrong here
-    ROOT=None
+    ROOT = None
     import traceback
     traceback.print_exc()
 
 #### this is where the problem lies I believe
 # first try to run manage.py collectstatic without this
 # themes
-theme=None
-try:
-    from myslice.configengine import ConfigEngine
-    configEngine = ConfigEngine()
-    if configEngine.myslice.theme :
-        theme = configEngine.myslice.theme
-except:
-    pass
-
-##
-# components module
-##
-import components
-
-# find out HTTPROOT, which is different from ROOT 
-# when deployed from a package
-# this code is run by collectstatic too, so we cannot
-# assume we have ./static present already
-HTTPROOT="/var/myslice-f4f"
-# the place to store local data, like e.g. the sqlite db
-DATAROOT="/var/unfold"
+if config.myslice.theme :
+    theme = config.myslice.theme
+else :
+    theme = None
+
+# HTTPROOT
+if config.myslice.httproot :
+    HTTPROOT = config.myslice.httproot
+else :
+    HTTPROOT = "/var/myslice-f4f"
+
+# DATAROOT
+if config.myslice.httproot :
+    DATAROOT = config.myslice.httproot
+else :
+    DATAROOT = "/var/unfold"
+
 if not os.path.isdir(DATAROOT):
     print("WARNING: {} is a non-existing directory".format(DATAROOT))
     print("consequently we assume development mode and re-route DATAROOT to {}".format(ROOT))
     DATAROOT=ROOT
+
 # if not there, then we assume it's from a devel tree
 if not os.path.isdir (os.path.join(HTTPROOT,"static")):
     HTTPROOT=ROOT
@@ -110,12 +109,12 @@ EMAIL_USE_TLS = False
 
 DATABASES = {
     'default': {
-        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
-        'NAME': os.path.join(DATAROOT,'unfold.sqlite3'), # Or path to database file if using sqlite3.
-        'USER': '',                      # Not used with sqlite3.
-        'PASSWORD': '',                  # Not used with sqlite3.
-        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
-        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
+        'ENGINE'    : 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
+        'NAME'      : os.path.join(DATAROOT,'unfold.sqlite3'), # Or path to database file if using sqlite3.
+        'USER'      : '',                      # Not used with sqlite3.
+        'PASSWORD'  : '',                  # Not used with sqlite3.
+        'HOST'      : '',                      # Set to empty string for localhost. Not used with sqlite3.
+        'PORT'      : '',                      # Set to empty string for default. Not used with sqlite3.
     }
 }