Commit 3abf4def authored by Brian Moe's avatar Brian Moe

refactor settings. meh.

parent cd6d476f
*.swp
*~
*.pyc
django-*.wsgi
......@@ -4,7 +4,7 @@ import sys
# XXX The WSGI files should be unified.
# Would be easy if settings.py were unified, which isn't hard.
os.environ['DJANGO_SETTINGS_MODULE'] = 'gracedb.settings_dev'
os.environ['DJANGO_SETTINGS_MODULE'] = 'gracedb.settings'
sys.path.append('/home/bmoe/sandbox/lib/python2.6/site-packages')
sys.path.append('/home/bmoe/sandbox/lib/python2.6')
......
import os
import sys
# XXX The WSGI files should be unified.
# Would be easy if settings.py were unified, which isn't hard.
os.environ['DJANGO_SETTINGS_MODULE'] = 'gracedb.settings'
# Sandbox libs here, if required.
#
#sys.path.append('/home/bmoe/sandbox/lib/python2.6/site-packages')
#sys.path.append('/home/bmoe/sandbox/lib/python2.6')
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
==================================================================
ER2
settings refactor
More unified settings/config.
settings/__init__.py
locates and imports * from settings.default then settings.WHATEVER
settings/defaut.py
/production.py
/development.py
/misc.py
Simple enough and gets rid of settings_dev crap.
Keeps prod/dev configs from diverging too much.
==================================================================
Branch goocharts
......
#!/usr/bin/env python
from django.core.management import execute_manager
# THIS IS TERRIBLE, but some idiot named the project AND application gracedb.
# Things looking for gracedb.settings fail because they find the app not the proj.
# This also causes things wanting the app having to do gracedb.gracedb.whatever
# all the time, but that mess has already been made.
import sys, os
sys.path.insert(0, os.path.join(os.path.dirname(__file__),'..'))
try:
import settings_dev as settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
sys.exit(1)
if __name__ == "__main__":
execute_manager(settings)
from django.conf import settings
def LigoDebugContext(request):
if settings.DEBUG and settings.DEBUG != "PRODUCTION":
return { 'config_name' : settings.CONFIG_NAME }
return {}
# Django settings for gracedb project.
try:
# Workaround for a bug
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473584
# http://bugs.python.org/setuptools/issue36
# import MySQLdb followed by import pkg_resources complains
# /usr/lib/python2.6/dist-packages/pytz/__init__.py:32: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
import pkg_resources
except:
pass
import os
ROOT_PATH = os.path.abspath( os.path.join( os.path.dirname(__file__), os.pardir ) )
configs = {
'/home/bmoe/ER2': 'development_er2',
'/home/bmoe/er2box/lib/python2.6/site-packages/gracedb' : 'development_er2',
'/home/bmoe/gracedb': 'development',
'/home/gracedb/gracedb': 'production',
}
from default import *
config = configs.get(ROOT_PATH, "NO_CONFIG")
settings_module = __import__('%s' % config, globals(), locals(), 'gracedb')
# Load the config settings properties into the local scope.
for setting in dir(settings_module):
if setting == setting.upper():
locals()[setting] = getattr(settings_module, setting)
# Django settings for gracedb project.
import os
try:
# Workaround for a bug
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473584
# http://bugs.python.org/setuptools/issue36
# import MySQLdb followed by import pkg_resources complains
# /usr/lib/python2.6/dist-packages/pytz/__init__.py:32: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
import pkg_resources
except:
pass
# Suitable for production
DEBUG = False
TEMPLATE_DEBUG = DEBUG
......@@ -18,7 +8,6 @@ EMAIL_HOST = 'gravity.phys.uwm.edu'
ADMINS = (
('Brian Moe', 'bmoe@gravity.phys.uwm.edu'),
# ('Larry Price', 'larry@gravity.phys.uwm.edu'),
)
MANAGERS = ADMINS
......@@ -28,14 +17,10 @@ ALERT_EMAIL_TO = [
"gracedb@listserv.ligo.org",
]
ALERT_EMAIL_BCC = [
# "Frederique Marion <marionf@lapp.in2p3.fr>",
# "Benoit MOURS <mours@lapp.in2p3.fr>",
# "Jonah Kanner <jkanner@umd.edu>",
]
ALERT_TEST_EMAIL_FROM = "GraCEDb TEST <gracedb@ligo.org>"
ALERT_TEST_EMAIL_TO = [
# "bmoe@gravity.phys.uwm.edu",
]
XMPP_ALERT_CHANNELS = [
......@@ -76,34 +61,36 @@ LATENCY_MAXIMUM_CHARTED = 1800
LATENCY_REPORT_WEB_PAGE_FILE_PATH = LATENCY_REPORT_DEST_DIR + "/latency.inc"
# CBC IFAR Reports
from utils import posixToGpsTime
from datetime import datetime, timedelta
import time
now = datetime.now()
yesterday = now - timedelta(days=1)
lastweek = now - timedelta(days=7)
now = posixToGpsTime(time.mktime(now.timetuple()))
yesterday = posixToGpsTime(time.mktime(yesterday.timetuple()))
lastweek = posixToGpsTime(time.mktime(lastweek.timetuple()))
REPORT_IFAR_IMAGE_DIR = LATENCY_REPORT_DEST_DIR
REPORTS_IFAR = [
#(query, axis_label, title, fname)
("LowMass %d..%d" % (yesterday, now),
"GraceDB CBC LowMass ER1 events",
"ER1 FARs from gstlal_ll_inspiral - last day",
"ifar_day.png"
),
("LowMass %d..%d" % (lastweek, now),
"GraceDB CBC LowMass ER1 events",
"ER1 FARs from gstlal_ll_inspiral - last week",
"ifar_week.png"
),
]
# Find another way to do this.
#
## CBC IFAR Reports
#
#from gracedb.utils import posixToGpsTime
#from datetime import datetime, timedelta
#import time
#
#now = datetime.now()
#yesterday = now - timedelta(days=1)
#lastweek = now - timedelta(days=7)
#now = posixToGpsTime(time.mktime(now.timetuple()))
#yesterday = posixToGpsTime(time.mktime(yesterday.timetuple()))
#lastweek = posixToGpsTime(time.mktime(lastweek.timetuple()))
#
#REPORT_IFAR_IMAGE_DIR = LATENCY_REPORT_DEST_DIR
#REPORTS_IFAR = [
# #(query, axis_label, title, fname),
# ("LowMass %d..%d" % (yesterday, now),
# "GraceDB CBC LowMass ER1 events",
# "ER1 FARs from gstlal_ll_inspiral - last day",
# "ifar_day.png"
# ),
# ("LowMass %d..%d" % (lastweek, now),
# "GraceDB CBC LowMass ER1 events",
# "ER1 FARs from gstlal_ll_inspiral - last week",
# "ifar_week.png"
# ),
#]
# RSS Feed Defaults
......@@ -122,11 +109,11 @@ GRACE_DATETIME_FORMAT = 'Y-m-d H:i:s T'
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'
SITE_ID = 3
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
USE_I18N = False
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
......@@ -163,18 +150,19 @@ TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.media",
"django.core.context_processors.request",
"gracedb.middleware.auth.LigoAuthContext",
'gracedb.middleware.debug.LigoDebugContext',
)
AUTHENTICATION_BACKENDS = ('gracedb.middleware.auth.LigoAuthBackend',)
MIDDLEWARE_CLASSES = (
MIDDLEWARE_CLASSES = [
'gracedb.middleware.accept.AcceptMiddleware',
'gracedb.middleware.auth.LigoAuthMiddleware',
'gracedb.middleware.cli.CliExceptionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
]
ROOT_URLCONF = 'gracedb.urls'
......
CONFIG_NAME = "DEVELOPMENT"
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ALERT_EMAIL_FROM = "Dev Alert <root@moe.phys.uwm.edu>"
ALERT_EMAIL_TO = [
"Brian Moe <bmoe@gravity.phys.uwm.edu>",
]
ALERT_EMAIL_BCC = ["bmoe@uwm.edu"]
ALERT_TEST_EMAIL_FROM = "Dev Test Alert <root@moe.phys.uwm.edu>"
ALERT_TEST_EMAIL_TO = [
"Brian Moe <bmoe@gravity.phys.uwm.edu>",
]
# Don't sent out non-test XMPP alerts on dev box!
XMPP_ALERT_CHANNELS = [
'test_omega',
'test_mbtaonline',
'test_cwb',
'test_lowmass',
]
# SkyAlert
SKYALERT_IVORN_PATTERN = "ivo://ligo.org/gracedb#%s-dev"
# Latency histograms. Where they go and max latency to bin.
LATENCY_REPORT_DEST_DIR = "/home/bmoe/data/latency"
SITE_ID = 4
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
"/home/bmoe/gracedb/templates",
)
CONFIG_NAME = "ER2"
DEBUG = True
TEMPLATE_DEBUG = DEBUG
DATABASES = {
'default' : {
'NAME' : 'er2',
'ENGINE' : 'django.db.backends.mysql',
'USER' : 'gracedb',
'PASSWORD' : 'weasel',
}
}
ALERT_EMAIL_FROM = "Dev Alert <root@moe.phys.uwm.edu>"
ALERT_EMAIL_TO = [
"Brian Moe <bmoe@gravity.phys.uwm.edu>",
]
ALERT_EMAIL_BCC = ["bmoe@uwm.edu"]
ALERT_TEST_EMAIL_FROM = "Dev Test Alert <root@moe.phys.uwm.edu>"
ALERT_TEST_EMAIL_TO = [
"Brian Moe <bmoe@gravity.phys.uwm.edu>",
]
XMPP_ALERT_CHANNELS = [
]
# SkyAlert
SKYALERT_IVORN_PATTERN = "ivo://ligo.org/gracedb#%s-dev-er2"
# Latency histograms. Where they go and max latency to bin.
LATENCY_REPORT_DEST_DIR = "/home/bmoe/data/latency"
SITE_ID = 4
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
"/home/bmoe/ER2/templates",
)
CONFIG_NAME = "PRODUCTION"
SITE_ID = 3
# Django settings for gracedb project.
try:
# Workaround for a bug
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473584
# http://bugs.python.org/setuptools/issue36
# import MySQLdb followed by import pkg_resources complains
# /usr/lib/python2.6/dist-packages/pytz/__init__.py:32: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
import pkg_resources
except:
pass
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
('Brian Moe', 'bmoe@gravity.phys.uwm.edu'),
)
MANAGERS = ADMINS
ALERT_EMAIL_FROM = "Dev Alert <root@moe.phys.uwm.edu>"
ALERT_EMAIL_TO = [
"Brian Moe <bmoe@gravity.phys.uwm.edu>",
]
ALERT_EMAIL_BCC = ["bmoe@uwm.edu"]
ALERT_TEST_EMAIL_FROM = "Dev Test Alert <root@moe.phys.uwm.edu>"
ALERT_TEST_EMAIL_TO = [
"Brian Moe <bmoe@gravity.phys.uwm.edu>",
]
# Don't sent out non-test XMPP alerts on dev box!
XMPP_ALERT_CHANNELS = [
'test_omega',
'test_mbtaonline',
'test_cwb',
'test_lowmass',
]
DATABASES = {
'default' : {
'NAME' : 'gracedb',
'ENGINE' : 'django.db.backends.mysql',
'USER' : 'gracedb',
'PASSWORD' : 'redrum4x',
}
}
# SkyAlert
SKYALERT_IVORN_PATTERN = "ivo://ligo.org/gracedb#%s-dev"
SKYALERT_ROLE = "test"
SKYALERT_DESCRIPTION = "LIGO / Virgo trigger"
SKYALERT_SUBMITTERS = ['Patrick Brady', 'Brian Moe']
GRACEDB_DATA_DIR = "/mnt/gracedb-web/data"
#GRACEDB_DATA_DIR = "/mnt/gracedb-web-temp/data"
# Latency histograms. Where they go and max latency to bin.
LATENCY_REPORT_DEST_DIR = "/home/bmoe/data/latency"
LATENCY_MAXIMUM_CHARTED = 1800
LATENCY_REPORT_WEB_PAGE_FILE_PATH = LATENCY_REPORT_DEST_DIR + "/latency.inc"
# CBC IFAR Reports
from utils import posixToGpsTime
from datetime import datetime, timedelta
import time
now = datetime.now()
yesterday = now - timedelta(days=1)
lastweek = now - timedelta(days=7)
now = posixToGpsTime(time.mktime(now.timetuple()))
yesterday = posixToGpsTime(time.mktime(yesterday.timetuple()))
lastweek = posixToGpsTime(time.mktime(lastweek.timetuple()))
REPORT_IFAR_IMAGE_DIR = LATENCY_REPORT_DEST_DIR
REPORTS_IFAR = [
#(query, axis_label, title, fname),
("LowMass %d..%d" % (yesterday, now),
"GraceDB CBC LowMass ER1 events",
"ER1 FARs from gstlal_ll_inspiral - last day",
"ifar_day.png"
),
("LowMass %d..%d" % (lastweek, now),
"GraceDB CBC LowMass ER1 events",
"ER1 FARs from gstlal_ll_inspiral - last week",
"ifar_week.png"
),
]
# RSS Feed Defaults
FEED_MAX_RESULTS = 50
# 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.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Chicago'
GRACE_DATETIME_FORMAT = 'Y-m-d H:i:s T'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'
SITE_ID = 4
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/gracedb-static/'
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'
# Make this unique, and don't share it with anybody.
SECRET_KEY = '$$&hl%^_4&s0k7sbdr8ll_^gkz-j8oab0tz$t^^b-%$!83d(av'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
#'django.template.loaders.filesystem.load_template_source',
# replaced by...
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)
TEMPLATE_CONTEXT_PROCESSORS = (
#"django.core.context_processors.auth",
# replaced by...
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.request",
"gracedb.middleware.auth.LigoAuthContext",
)
AUTHENTICATION_BACKENDS = ('gracedb.middleware.auth.LigoAuthBackend',)
MIDDLEWARE_CLASSES = (
'gracedb.middleware.accept.AcceptMiddleware',
'gracedb.middleware.auth.LigoAuthMiddleware',
'gracedb.middleware.cli.CliExceptionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
ROOT_URLCONF = 'gracedb.urls'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
"/home/bmoe/gracedb/templates",
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'gracedb.gracedb',
'gracedb.userprofile',
)
......@@ -38,6 +38,13 @@ function changeTime(obj, label) {
<li id="nav-userprofile"><a href="{% url userprofile-home %}">Options</a></li>
{% if ligouser %}<li id="nav-user">Authenticated as: {{ ligouser.name }}</li>{% endif %}
</ul>
<center>
{% if config_name %}
<h1 style="color: red;">
{{config_name}}
</h1>
{% endif %}
</center>
{% endblock %}
<p>&nbsp;</p> <!-- bad way to create vertical space -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment