NewsBlur/settings.py

314 lines
8.4 KiB
Python
Raw Normal View History

import sys
import logging
import os
from mongoengine import connect
# ===========================
# = Directory Declaractions =
# ===========================
CURRENT_DIR = os.path.dirname(__file__)
2010-06-08 11:19:07 -04:00
NEWSBLUR_DIR = CURRENT_DIR
TEMPLATE_DIRS = (''.join([CURRENT_DIR, '/templates']),)
MEDIA_ROOT = ''.join([CURRENT_DIR, '/media'])
2009-09-08 03:15:49 +00:00
UTILS_ROOT = ''.join([CURRENT_DIR, '/utils'])
2010-06-08 11:19:07 -04:00
LOG_FILE = ''.join([CURRENT_DIR, '/logs/newsblur.log'])
2009-09-08 03:15:49 +00:00
# ==============
# = PYTHONPATH =
# ==============
UTILS_DIR = ''.join([CURRENT_DIR, '/utils'])
if '/utils' not in ' '.join(sys.path):
sys.path.append(UTILS_DIR)
2009-09-08 03:15:49 +00:00
# ===================
# = Global Settings =
# ===================
2009-06-16 03:08:55 +00:00
ADMINS = (
('Samuel Clay', 'samuel@ofbrooklyn.com'),
2009-06-16 03:08:55 +00:00
)
MANAGERS = ADMINS
2010-10-16 18:52:52 -04:00
PAYPAL_RECEIVER_EMAIL = 'samuel@ofbrooklyn.com'
TIME_ZONE = 'GMT'
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
USE_I18N = False
LOGIN_REDIRECT_URL = '/'
LOGIN_URL = '/reader/login'
# 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/admin/'
SECRET_KEY = '6yx-@2u@v$)-=fqm&tc8lhk3$6d68+c7gd%p$q2@o7b4o8-*fz'
# ===============
# = Enviornment =
# ===============
2010-06-08 11:19:07 -04:00
PRODUCTION = __file__.find('/home/conesus/newsblur') == 0
2010-10-17 01:40:41 +00:00
STAGING = __file__.find('/home/conesus/staging') == 0
2010-06-08 11:19:07 -04:00
DEV_SERVER1 = __file__.find('/Users/conesus/Projects/newsblur') == 0
DEV_SERVER2 = __file__.find('/Users/conesus/newsblur') == 0
DEVELOPMENT = DEV_SERVER1 or DEV_SERVER2
2010-04-05 00:51:12 -04:00
# ===========================
# = Django-specific Modules =
# ===========================
2009-06-16 03:08:55 +00:00
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
'django.template.loaders.eggs.load_template_source',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.media",
'django.core.context_processors.request',
2009-06-16 03:08:55 +00:00
)
MIDDLEWARE_CLASSES = (
'django.middleware.gzip.GZipMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'apps.profile.middleware.LastSeenMiddleware',
# 'debug_toolbar.middleware.DebugToolbarMiddleware',
2009-06-16 03:08:55 +00:00
)
2009-09-08 03:15:49 +00:00
# =====================
# = Media Compression =
# =====================
COMPRESS_JS = {
'all': {
'source_filenames': (
'js/jquery-1.4.2.js',
'js/inflector.js',
2010-07-11 11:10:45 -04:00
'js/jquery.json.js',
2009-09-08 03:15:49 +00:00
'js/jquery.easing.js',
2010-06-08 11:19:07 -04:00
'js/jquery.newsblur.js',
2009-09-08 03:15:49 +00:00
'js/jquery.scrollTo.js',
'js/jquery.corners.js',
'js/jquery.hotkeys.js',
'js/jquery.ajaxupload.js',
'js/jquery.ajaxmanager.3.js',
2009-09-08 03:15:49 +00:00
'js/jquery.simplemodal-1.3.js',
'js/jquery.color.js',
'js/jquery.rightclick.js',
'js/jquery.ui.core.js',
'js/jquery.ui.widget.js',
'js/jquery.ui.mouse.js',
'js/jquery.ui.position.js',
'js/jquery.ui.draggable.js',
'js/jquery.ui.sortable.js',
'js/jquery.ui.slider.js',
'js/jquery.ui.progressbar.js',
2009-09-08 03:15:49 +00:00
'js/jquery.layout.js',
'js/jquery.tinysort.js',
'js/jquery.fieldselection.js',
'js/jquery.flot.js',
'js/underscore.js',
2010-06-08 11:19:07 -04:00
'js/newsblur/assetmodel.js',
'js/newsblur/reader.js',
'js/newsblur/reader_classifier.js',
'js/newsblur/reader_add_feed.js',
'js/newsblur/reader_mark_read.js',
'js/newsblur/reader_preferences.js',
'js/newsblur/reader_feedchooser.js',
'js/newsblur/reader_statistics.js',
'js/newsblur/reader_feed_exception.js',
'js/newsblur/reader_keyboard.js',
'js/newsblur/about.js',
'js/newsblur/faq.js',
2009-09-08 03:15:49 +00:00
),
2010-04-05 01:00:29 -04:00
'output_filename': 'js/all-compressed-?.js'
},
'paypal': {
'source_filenames': (
'js/newsblur/paypal_return.js',
),
'output_filename': 'js/paypal-compressed-?.js',
},
2009-09-08 03:15:49 +00:00
}
COMPRESS_CSS = {
'all': {
'source_filenames': (
'css/reader.css',
'css/jquery-ui/jquery.theme.css',
2009-09-08 03:15:49 +00:00
),
2010-04-05 01:00:29 -04:00
'output_filename': 'css/all-compressed-?.css'
},
'paypal': {
'source_filenames': (
'css/paypal_return.css',
),
'output_filename': 'css/paypal-compressed-?.css',
},
2009-09-08 03:15:49 +00:00
}
COMPRESS_VERSION = True
COMPRESS_JS_FILTERS = ['compress.filters.jsmin.JSMinFilter']
2009-09-08 03:37:17 +00:00
COMPRESS_CSS_FILTERS = []
# YUI_DIR = ''.join([UTILS_ROOT, '/yuicompressor-2.4.2/build/yuicompressor-2.4.2.jar'])
# COMPRESS_YUI_BINARY = 'java -jar ' + YUI_DIR
2009-09-08 03:15:49 +00:00
# COMPRESS_YUI_JS_ARGUMENTS = '--preserve-semi --nomunge --disable-optimizations'
# ========================
# = Django Debug Toolbar =
# ========================
DEBUG_TOOLBAR_PANELS = (
'debug_toolbar.panels.version.VersionDebugPanel',
'debug_toolbar.panels.timer.TimerDebugPanel',
'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
'debug_toolbar.panels.headers.HeaderDebugPanel',
'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
'debug_toolbar.panels.cache.CacheDebugPanel',
'debug_toolbar.panels.signals.SignalDebugPanel',
'debug_toolbar.panels.logger.LoggingPanel',
)
# ==========================
# = Miscellaneous Settings =
# ==========================
2010-06-08 11:19:07 -04:00
AUTH_PROFILE_MODULE = 'newsblur.UserProfile'
TEST_DATABASE_COLLATION = 'utf8_general_ci'
TEST_DATABASE_NAME = 'newsblur_test'
2009-06-16 03:08:55 +00:00
ROOT_URLCONF = 'urls'
INTERNAL_IPS = ('127.0.0.1',)
LOGGING_LOG_SQL = True
APPEND_SLASH = True
SOUTH_TESTS_MIGRATE = False
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
TEST_RUNNER = "utils.testrunner.TestRunner"
DAYS_OF_UNREAD = 14
2009-06-16 03:08:55 +00:00
# ===========
# = Logging =
# ===========
LOG_LEVEL = logging.DEBUG
LOG_TO_STREAM = False
# ===============
# = Django Apps =
# ===============
2009-06-16 03:08:55 +00:00
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django_extensions',
'djcelery',
2009-09-08 03:15:49 +00:00
'compress',
2009-06-16 03:08:55 +00:00
'apps.rss_feeds',
'apps.reader',
'apps.analyzer',
'apps.feed_import',
2009-06-16 03:08:55 +00:00
'apps.profile',
'devserver',
2010-06-11 16:55:07 -04:00
'south',
# 'test_utils',
2010-07-06 13:56:32 -04:00
'utils',
'utils.typogrify',
2010-10-16 18:52:52 -04:00
'utils.paypal.standard.ipn',
# 'debug_toolbar'
2009-07-25 02:21:12 +00:00
)
2010-10-16 18:52:52 -04:00
if not DEVELOPMENT:
2010-10-17 01:40:41 +00:00
INSTALLED_APPS += (
2010-10-16 18:52:52 -04:00
'gunicorn',
2010-10-17 01:40:41 +00:00
)
2010-10-16 18:52:52 -04:00
DEVSERVER_MODULES = (
'devserver.modules.sql.SQLRealTimeModule',
'devserver.modules.sql.SQLSummaryModule',
'devserver.modules.profile.ProfileSummaryModule',
# Modules not enabled by default
'devserver.modules.profile.MemoryUseModule',
'devserver.modules.cache.CacheSummaryModule',
)
2010-04-05 00:47:21 -04:00
2010-08-31 18:15:00 -04:00
# ==========
# = Celery =
# ==========
import djcelery
djcelery.setup_loader()
CELERY_ROUTES = {
"new-feeds": {
"queue": "new_feeds",
"binding_key": "new_feeds"
},
"update-feeds": {
"queue": "update_feeds",
"binding_key": "update_feeds"
},
}
CELERY_QUEUES = {
"new_feeds": {
"exchange": "new_feeds",
"exchange_type": "direct",
"binding_key": "new_feeds"
},
"update_feeds": {
"exchange": "update_feeds",
"exchange_type": "direct",
"binding_key": "update_feeds"
},
}
CELERY_DEFAULT_QUEUE = "update_feeds"
BROKER_HOST = "db01.newsblur.com"
BROKER_PORT = 5672
BROKER_USER = "newsblur"
BROKER_PASSWORD = "newsblur"
BROKER_VHOST = "newsblurvhost"
CELERY_RESULT_BACKEND = "amqp"
2010-10-16 23:33:44 -04:00
CELERYD_LOG_LEVEL = 'ERROR'
CELERY_IMPORTS = ("apps.rss_feeds.tasks", )
CELERYD_CONCURRENCY = 4
CELERY_IGNORE_RESULT = True
CELERYD_MAX_TASKS_PER_CHILD = 100
CELERY_DISABLE_RATE_LIMITS = True
2010-08-31 18:15:00 -04:00
2010-04-05 00:47:21 -04:00
# ==================
# = Configurations =
# ==================
2010-10-16 18:52:52 -04:00
try:
from gunicorn_conf import *
except ImportError, e:
pass
2010-04-05 00:47:21 -04:00
from local_settings import *
COMPRESS = not DEBUG
TEMPLATE_DEBUG = DEBUG
2010-04-09 18:30:25 -04:00
ACCOUNT_ACTIVATION_DAYS = 30
def custom_show_toolbar(request):
return DEBUG
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': True,
'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
'HIDE_DJANGO_SQL': False,
}
# =========
# = Mongo =
# =========
MONGODB = connect(MONGO_DB['NAME'], host=MONGO_DB['HOST'], port=MONGO_DB['PORT'])