From 7da57e1a73eb5792978e2dbe81365dd36a4e1699 Mon Sep 17 00:00:00 2001 From: Ciro Scognamiglio Date: Wed, 11 Mar 2015 16:54:57 +0100 Subject: [PATCH] settings can be modified in myslice.ini --- .gitignore | 7 ++-- myslice/components.py | 8 +++-- myslice/myslice.ini.dist | 16 +++++++++ myslice/settings.py | 71 ++++++++++++++++++++-------------------- 4 files changed, 61 insertions(+), 41 deletions(-) create mode 100644 myslice/myslice.ini.dist diff --git a/.gitignore b/.gitignore index bf4b0b50..21f5aa65 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/myslice/components.py b/myslice/components.py index 44d66241..cfabb634 100644 --- a/myslice/components.py +++ b/myslice/components.py @@ -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 index 00000000..581d2459 --- /dev/null +++ b/myslice/myslice.ini.dist @@ -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 = diff --git a/myslice/settings.py b/myslice/settings.py index a9018f2d..25868238 100644 --- a/myslice/settings.py +++ b/myslice/settings.py @@ -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. } } -- 2.43.0