-# Django settings for unfold project.
+from __future__ import print_function
+
+import myslice.components
+from myslice.configengine import ConfigEngine
import os.path
-import djcelery
-djcelery.setup_loader()
+# import djcelery
+# djcelery.setup_loader()
### detect if we're in a build environment
try:
except:
building=True
-DEBUG = True
-TEMPLATE_DEBUG = DEBUG
+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
-
-# 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
if not os.path.isdir(ROOT): raise Exception,"Cannot find ROOT %s for unfold"%ROOT
if not os.path.isdir(HTTPROOT): raise Exception,"Cannot find HTTPROOT %s for unfold"%HTTPROOT
+if DEBUG_SETTINGS:
+ print('ROOT', ROOT)
+ print('DATAROOT', DATAROOT)
+ print('HTTPROOT', HTTPROOT)
+
# dec 2013 - we currently have 2 auxiliary subdirs with various utilities
# that we do not wish to package
# * sandbox is for plugin developers
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.
}
}
+if DEBUG_SETTINGS:
+ print('DATABASE NAME',DATABASES['default']['NAME'])
+
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# FORGE Plugin app
- 'djcelery',
- 'forge',
+# 'djcelery',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'portal',
- # SLA
- 'sla',
]
# this app won't load in a build environment
if not building: INSTALLED_APPS.append ('rest')
+for component in components.list() :
+ INSTALLED_APPS.append(component)
+
BROKER_URL = "amqp://myslice:myslice@localhost:5672/myslice"
for aux in auxiliaries:
if os.path.isdir(os.path.join(ROOT,aux)):
- print "Using devel auxiliary",aux
+ print("Using devel auxiliary",aux)
INSTALLED_APPS.append(aux)
ACCOUNT_ACTIVATION_DAYS = 7 # One-week activation window; you may, of course, use a different value.