Skip to content
Snippets Groups Projects
default.py 10.1 KiB
Newer Older
Brian Moe's avatar
Brian Moe committed

# Suitable for production
Brian Moe's avatar
Brian Moe committed
DEBUG = False
Brian Moe's avatar
Brian Moe committed
TEMPLATE_DEBUG = DEBUG
MAINTENANCE_MODE= False
Brian Moe's avatar
Brian Moe committed

EMAIL_HOST = 'gravity.phys.uwm.edu'

Brian Moe's avatar
Brian Moe committed
ADMINS = (
    ('Branson Stephens', 'branson@gravity.phys.uwm.edu'),
Brian Moe's avatar
Brian Moe committed
)

MANAGERS = ADMINS

ALERT_EMAIL_FROM = "GraCEDb <gracedb@archie.phys.uwm.edu>"
ALERT_EMAIL_TO = [
Brian Moe's avatar
Brian Moe committed
#                 "gracedb@listserv.ligo.org",
ALERT_EMAIL_BCC = [
                  ]
ALERT_TEST_EMAIL_FROM = "GraCEDb TEST <gracedb@archie.phys.uwm.edu>"
ALERT_TEST_EMAIL_TO = [
EMBB_MAIL_ADDRESS = 'embb@gracedb.ligo.org'
EMBB_SMTP_SERVER = 'localhost'
EMBB_MAIL_ADMINS = ['branson@gravity.phys.uwm.edu','roy.williams@ligo.org',]
EMBB_IGNORE_ADDRESSES = ['Mailer-Daemon@gracedb.phys.uwm.edu',]
# 11/18/14. No longer checking XMPP_ALERT_CHANNELS. This is not necessary.
# If someone sends out an event, an alert should go out. Listerers have the 
# option to unsubscribe from nodes if so desired.
#XMPP_ALERT_CHANNELS = [
#                        'burst_omega',
#                        'test_omega',
#                        'cbc_mbtaonline',
#                        'test_mbtaonline',
#                        'burst_cwb',
#                        'test_cwb',
#                        'cbc_lowmass',
#                        'test_lowmass',
#                        'cbc_highmass',
#                        'test_highmass',
#                        'test_grb',
#                        'external_grb',
#                      ]
Brian Moe's avatar
Brian Moe committed
SKYMAP_VIEWER_SERVICE_URL = "https://embb-dev.ligo.caltech.edu/skymap-viewer/aladin/skymap-viewer.cgi"
                 'analyst_comments',
                 'data_quality',
                 'strain',
                 'tfplots',
                 'sig_info',
                 'audio',
               ]

COINC_PIPELINES = [
                    'gstlal',
                    'gstlal-spiir',
                    'MBTA',
                   ]

GRB_PIPELINES = [
                    'Fermi',
                    'Swift',
                ]
DATABASES = {
    'default' : {
        'NAME'     : 'gracedb',
        'ENGINE'   : 'django.db.backends.mysql',
        'USER'     : 'gracedb',
        'PASSWORD' : 'redrum4x',
                         'init_command': 'SET storage_engine=MyISAM',
SKYALERT_DESCRIPTION   = "Report of a candidate gravitational wave event"
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/gracedb/data/latency"
LATENCY_MAXIMUM_CHARTED = 1800
LATENCY_REPORT_WEB_PAGE_FILE_PATH = LATENCY_REPORT_DEST_DIR + "/latency.inc"

Brian Moe's avatar
Brian Moe committed
# Uptime reporting
UPTIME_REPORT_DIR = "/home/gracedb/data/uptime"
Brian Moe's avatar
Brian Moe committed

# URL prefix for serving report information (usually plots and tables)
REPORT_INFO_URL_PREFIX = "/report_info/"
Brian Moe's avatar
Brian Moe committed

Brian Moe's avatar
Brian Moe committed
# Find another way to do this.
#
# 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"
#    ),
#]
REPORTS_IFAR = [
    #(query, axis_label, title, fname),
    ("gstlal %d..%d" % (yesterday, now),
     "GraceDB gstlal events",
     "FARs from gstlal - last day",
     "ifar_day.png"
    ),
    ("gstlal %d..%d" % (lastweek, now),
     "GraceDB gstlal events",
     "FARs from gstlal - last week",
     "ifar_week.png"
    ),
]
Brian Moe's avatar
Brian Moe committed

FEED_MAX_RESULTS = 50
Brian Moe's avatar
Brian Moe committed
# 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.
Brian Moe's avatar
Brian Moe committed
TIME_ZONE = 'America/Chicago'
Brian Moe's avatar
Brian Moe committed
GRACE_DATETIME_FORMAT = 'Y-m-d H:i:s T'
Brian Moe's avatar
Brian Moe committed

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

Brian Moe's avatar
Brian Moe committed
SITE_ID = 1
Brian Moe's avatar
Brian Moe committed

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
Brian Moe's avatar
Brian Moe committed
USE_I18N = False
Brian Moe's avatar
Brian Moe committed

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
Brian Moe's avatar
Brian Moe committed

# 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/"
Brian Moe's avatar
Brian Moe committed

# 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',
    # Upgrade to 1.4
    #'django.template.loaders.app_directories.load_template_source',
    'django.template.loaders.app_directories.Loader',
Brian Moe's avatar
Brian Moe committed
#     'django.template.loaders.eggs.load_template_source',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    #"django.core.context_processors.auth",
    # replaced by...
    "django.contrib.auth.context_processors.auth",
Brian Moe's avatar
Brian Moe committed
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
Brian Moe's avatar
Brian Moe committed
    "django.core.context_processors.static",
Brian Moe's avatar
Brian Moe committed
    "django.core.context_processors.request",
    "gracedb.middleware.auth.LigoAuthContext",
    'middleware.debug.LigoDebugContext',
Brian Moe's avatar
Brian Moe committed
)

#   'gracedb.middleware.auth.LigoAuthBackend',
    'ligoauth.middleware.auth.LigoX509Backend',
    'ligoauth.middleware.auth.LigoShibBackend',
#   'ligoauth.middleware.auth.RemoteUserBackend',
#   'ligodjangoauth.LigoShibbolethAuthBackend',
#   'django.contrib.auth.backends.ModelBackend',
    'guardian.backends.ObjectPermissionBackend',
ANONYMOUS_USER_ID = -1
GUARDIAN_RENDER_403 = True
SHIB_AUTHENTICATION_SESSION_INITIATOR = 'https://moe.phys.uwm.edu/Shibboleth.sso/Login'
# If these are left at default, when the Shibboleth middleware
# creates a new auth_user, they will get admin privs.
ADMIN_GROUP_HEADER = None
ADMIN_GROUP = None

Brian Moe's avatar
Brian Moe committed
MIDDLEWARE_CLASSES = [
    'middleware.performance.PerformanceMiddleware',
    'middleware.accept.AcceptMiddleware',
    'middleware.cli.CliExceptionMiddleware',
Brian Moe's avatar
Brian Moe committed
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
#   'django.contrib.auth.middleware.AuthenticationMiddleware',
#   'ligodjangoauth.LigoShibbolethMiddleware',
    'ligoauth.middleware.auth.LigoAuthMiddleware',
#   'django.contrib.auth.middleware.RemoteUserMiddleware',
    'maintenancemode.middleware.MaintenanceModeMiddleware',
Brian Moe's avatar
Brian Moe committed
]
Brian Moe's avatar
Brian Moe committed

ROOT_URLCONF = 'urls'
Brian Moe's avatar
Brian Moe committed

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/gracedb/graceproj/templates",
Brian Moe's avatar
Brian Moe committed
)

INSTALLED_APPS = (
    'django.contrib.auth',
Brian Moe's avatar
Brian Moe committed
    'django.contrib.admin',
Brian Moe's avatar
Brian Moe committed
    'django.contrib.contenttypes',
    'django.contrib.sessions',
Brian Moe's avatar
Brian Moe committed
    'django.contrib.sites',
Brian Moe's avatar
Brian Moe committed
    'django.contrib.staticfiles',
    'gracedb',
    'userprofile',
    'ligoauth',
Brian Moe's avatar
Brian Moe committed
    'rest_framework',
    'south',
Brian Moe's avatar
Brian Moe committed
)
Brian Moe's avatar
Brian Moe committed

REST_FRAMEWORK = {
    'PAGINATE_BY': 10
}


STATIC_URL = "/gracedb-static/"
STATIC_ROOT = "/home/gracedb/graceproj/static/"
Brian Moe's avatar
Brian Moe committed

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

STATICFILES_DIRS = ()
# Added in order to perform data migrations on the auth app
SOUTH_MIGRATION_MODULES = {
    'auth' : 'migrations.auth',
# XXX The following Log settings are for a performance metric.
import logging
LOG_ROOT = '/home/gracedb/logs'

# Filter objects to separate out each level of alert.
class infoOnlyFilter(logging.Filter):
    def filter(self,record):
        if record.levelname=='INFO':
            return 1
        return 0

LOGGING = {
    'version': 1,
    'disable_existing_loggers' : True,
    'formatters': {
        'simple': {
            'format': '%(asctime)s: %(message)s',
            'datefmt': '%Y-%m-%dT%H:%M:%S',
        },
    },
    'handlers': {
        'null': {
            'level':'DEBUG',
            'class':'django.utils.log.NullHandler',
        },
        'performance_file': {
            'formatter': 'simple',
            'filename': '%s/gracedb_performance.log' % LOG_ROOT,
        },
    },
    'loggers': {
        'django': {
            'handlers': ['null'],
            'propagate': True,
            'level': 'INFO',
        },
        'middleware': {
            'handlers': ['performance_file'],
            'propagate': True,
            'level': 'INFO',
        },
   },
}