parent
7053329bcf
commit
3f6a7bf61d
9 changed files with 600 additions and 40 deletions
@ -0,0 +1,553 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Django settings for proj project. |
||||||
|
import os |
||||||
|
import django |
||||||
|
from django.utils.translation import ugettext_lazy as _ |
||||||
|
|
||||||
|
|
||||||
|
DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__)) |
||||||
|
SITE_ROOT = os.path.split(os.path.dirname(os.path.realpath(__file__)))[0] |
||||||
|
|
||||||
|
DEBUG = True |
||||||
|
|
||||||
|
|
||||||
|
ADMINS = ( |
||||||
|
# ('Your Name', 'your_email@example.com'), |
||||||
|
) |
||||||
|
|
||||||
|
MANAGERS = ADMINS |
||||||
|
|
||||||
|
DATABASES = { |
||||||
|
'default': { |
||||||
|
'ENGINE': 'django.db.backends.mysql', |
||||||
|
'NAME': 'expomap', |
||||||
|
'USER': 'kotzilla', |
||||||
|
'PASSWORD': 'qazedc', |
||||||
|
'HOST': '', |
||||||
|
'PORT': '', |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
CACHES = { |
||||||
|
"default": { |
||||||
|
"BACKEND": "redis_cache.cache.RedisCache", |
||||||
|
"LOCATION": "/tmp/redis.sock", |
||||||
|
"OPTIONS": { |
||||||
|
"CLIENT_CLASS": "redis_cache.client.DefaultClient", |
||||||
|
}, |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
# Hosts/domain names that are valid for this site; required if DEBUG is False |
||||||
|
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts |
||||||
|
ALLOWED_HOSTS = ['hit.expomap.ru', '195.66.79.152', '195.66.79.145', 'expomap.ru', '195.66.79.148'] |
||||||
|
|
||||||
|
# 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. |
||||||
|
# In a Windows environment this must be set to your system time zone. |
||||||
|
TIME_ZONE = 'UTC' |
||||||
|
|
||||||
|
# Language code for this installation. All choices can be found here: |
||||||
|
# http://www.i18nguy.com/unicode/language-identifiers.html |
||||||
|
LANGUAGE_CODE = 'ru' |
||||||
|
|
||||||
|
DEFAULT_LANGUAGE = 'ru' |
||||||
|
|
||||||
|
LANGUAGES = ( |
||||||
|
('ru', _('Russian')), |
||||||
|
('en', _('English')), |
||||||
|
) |
||||||
|
|
||||||
|
LOCALE_PATHS = ( |
||||||
|
os.path.join(SITE_ROOT, 'locale'), |
||||||
|
) |
||||||
|
|
||||||
|
DEFAULT_CHARSET = 'utf-8' |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
# If you set this to False, Django will not format dates, numbers and |
||||||
|
# calendars according to the current locale. |
||||||
|
USE_L10N = False |
||||||
|
|
||||||
|
# If you set this to False, Django will not use timezone-aware datetimes. |
||||||
|
USE_TZ = False |
||||||
|
|
||||||
|
|
||||||
|
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media/') |
||||||
|
CKEDITOR_UPLOAD_PATH = os.path.join(SITE_ROOT, 'media/upload') |
||||||
|
|
||||||
|
|
||||||
|
CKEDITOR_CONFIGS = { |
||||||
|
'default': { |
||||||
|
'toolbar': 'standart', |
||||||
|
'height': 200, |
||||||
|
'width': 565, |
||||||
|
'resize_enabled' : True, |
||||||
|
'autoGrow_onStartup' : False, |
||||||
|
'autoGrow_bottomSpace' : 300, |
||||||
|
'fillEmptyBlocks' : False, |
||||||
|
'autoParagraph' : False, |
||||||
|
}, |
||||||
|
'newsletters': { |
||||||
|
'toolbar': 'standart', |
||||||
|
'height': 600, |
||||||
|
'width': 750, |
||||||
|
'resize_enabled' : True, |
||||||
|
'autoGrow_onStartup' : False, |
||||||
|
'autoGrow_bottomSpace' : 300, |
||||||
|
'fillEmptyBlocks' : False, |
||||||
|
'autoParagraph' : False, |
||||||
|
}, |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
MEDIA_URL = '/media/' |
||||||
|
|
||||||
|
STATIC_ROOT = os.path.join(SITE_ROOT, 'collected_static') |
||||||
|
STATIC_URL = '/static/' |
||||||
|
|
||||||
|
STATICFILES_FINDERS = ( |
||||||
|
'django.contrib.staticfiles.finders.FileSystemFinder', |
||||||
|
'django.contrib.staticfiles.finders.AppDirectoriesFinder', |
||||||
|
#'django.contrib.staticfiles.finders.DefaultStorageFinder', |
||||||
|
) |
||||||
|
|
||||||
|
# Make this unique, and don't share it with anybody. |
||||||
|
SECRET_KEY = '=yz1@ko%1s8bmel)c84#s*xpxn%4(1e+smdnh*@rdm*5%v!mln' |
||||||
|
|
||||||
|
|
||||||
|
TEMPLATE_CONTEXT_PROCESSORS = ( |
||||||
|
"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.static", |
||||||
|
"django.core.context_processors.tz", |
||||||
|
"django.contrib.messages.context_processors.messages", |
||||||
|
"django.core.context_processors.request", |
||||||
|
'social.apps.django_app.context_processors.backends', |
||||||
|
'social.apps.django_app.context_processors.login_redirect', |
||||||
|
'django_messages.context_processors.inbox', |
||||||
|
"proj.views.expo_context" |
||||||
|
) |
||||||
|
#LOGIN_REDIRECT_URL = '/' |
||||||
|
|
||||||
|
MIDDLEWARE_CLASSES = ( |
||||||
|
# 'django.middleware.cache.UpdateCacheMiddleware', |
||||||
|
'django.contrib.sessions.middleware.SessionMiddleware', |
||||||
|
'solid_i18n.middleware.SolidLocaleMiddleware', |
||||||
|
'django.middleware.common.CommonMiddleware', |
||||||
|
'django.middleware.csrf.CsrfViewMiddleware', |
||||||
|
'django.contrib.auth.middleware.AuthenticationMiddleware', |
||||||
|
'django.contrib.messages.middleware.MessageMiddleware', |
||||||
|
'social.apps.django_app.middleware.SocialAuthExceptionMiddleware', |
||||||
|
# 'django.middleware.cache.FetchFromCacheMiddleware', |
||||||
|
# Uncomment the next line for simple clickjacking protection: |
||||||
|
'django.middleware.clickjacking.XFrameOptionsMiddleware', |
||||||
|
'django.contrib.redirects.middleware.RedirectFallbackMiddleware', |
||||||
|
'proj.middleware.RedirectFallbackMiddleware', |
||||||
|
) |
||||||
|
|
||||||
|
|
||||||
|
ROOT_URLCONF = 'proj.urls' |
||||||
|
|
||||||
|
# Python dotted path to the WSGI application used by Django's runserver. |
||||||
|
WSGI_APPLICATION = 'proj.wsgi.application' |
||||||
|
|
||||||
|
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. |
||||||
|
# os.path.join(SITE_ROOT, 'templates/debug_toolbar'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/accounts'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/article'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/country'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/city'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/company'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/conference'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/directories'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/exposition'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/forms'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/import templates'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/news'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/organiser'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/place_conference'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/place_exposition'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/page'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/photoreport'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/settings'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/seminar'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/service'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/theme'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/translator'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/admin/webinar'), |
||||||
|
|
||||||
|
os.path.join(SITE_ROOT, 'templates/client'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/client/exposition'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/client/photoreport'), |
||||||
|
os.path.join(SITE_ROOT, 'templates/client/includes'), |
||||||
|
os.path.join(SITE_ROOT, 'templates'), |
||||||
|
#os.path.join(SITE_ROOT, 'templates/client/popups'), |
||||||
|
) |
||||||
|
|
||||||
|
AUTH_USER_MODEL = 'accounts.User' |
||||||
|
LOGIN_URL='/' |
||||||
|
#registration info |
||||||
|
ACCOUNT_ACTIVATION_DAYS=2 |
||||||
|
# mail settings |
||||||
|
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' |
||||||
|
EMAIL_HOST = 'localhost' |
||||||
|
EMAIL_HOST_USER = '' |
||||||
|
EMAIL_HOST_PASSWORD = '' |
||||||
|
EMAIL_USE_TLS = True |
||||||
|
EMAIL_PORT = 25 |
||||||
|
DEFAULT_FROM_EMAIL = "expomap.ru" |
||||||
|
|
||||||
|
|
||||||
|
AUTHENTICATION_BACKENDS = ( |
||||||
|
'social.backends.open_id.OpenIdAuth', |
||||||
|
'social.backends.vk.VKOAuth2', |
||||||
|
'social.backends.facebook.FacebookOAuth2', |
||||||
|
'social.backends.twitter.TwitterOAuth', |
||||||
|
'social.backends.google.GoogleOAuth', |
||||||
|
'social.backends.linkedin.LinkedinOAuth', |
||||||
|
'social.backends.odnoklassniki.OdnoklassnikiOAuth2', |
||||||
|
'social.backends.mailru.MailruOAuth2', |
||||||
|
'django.contrib.auth.backends.ModelBackend', |
||||||
|
) |
||||||
|
|
||||||
|
SOCIAL_AUTH_LOGIN_URL = '/' |
||||||
|
SOCIAL_AUTH_USER_MODEL = 'accounts.User' |
||||||
|
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/logged-in/' |
||||||
|
# The user will be redirected to this URL when a social account is disconnected |
||||||
|
SOCIAL_AUTH_INACTIVE_USER_URL = '/inactive-user/' |
||||||
|
# #Used to redirect the user once the auth process ended successfully. The value of ?next=/foo is used if it was present |
||||||
|
# SOCIAL_AUTH_LOGIN_ERROR_URL = '/login-error/' |
||||||
|
# #URL where the user will be redirected in case of an error |
||||||
|
# SOCIAL_AUTH_LOGIN_URL = '/login-url/' |
||||||
|
# #Is used as a fallback for LOGIN_ERROR_URL |
||||||
|
# SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/new-users-redirect-url/' |
||||||
|
# # Used to redirect new registered users, will be used in place of SOCIAL_AUTH_LOGIN_REDIRECT_URL if defined. |
||||||
|
# Note that ?next=/foo is appended if present, if you want new users to go to next, you’ll need to do it yourself. |
||||||
|
# SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = '/new-association-redirect-url/' |
||||||
|
# # Like SOCIAL_AUTH_NEW_USER_REDIRECT_URL but for new associated accounts (user is already logged in). |
||||||
|
# Used in place of SOCIAL_AUTH_LOGIN_REDIRECT_URL |
||||||
|
# SOCIAL_AUTH_DISCONNECT_REDIRECT_URL = '/account-disconnected-redirect-url/' |
||||||
|
|
||||||
|
# Inactive users can be redirected to this URL when trying to authenticate. |
||||||
|
# SOCIAL_AUTH_UID_LENGTH = <int> |
||||||
|
# SOCIAL_AUTH_NONCE_SERVER_URL_LENGTH = <int> |
||||||
|
# SOCIAL_AUTH_ASSOCIATION_SERVER_URL_LENGTH = <int> |
||||||
|
# SOCIAL_AUTH_FORCE_EMAIL_VALIDATION = True |
||||||
|
|
||||||
|
SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True |
||||||
|
|
||||||
|
SOCIAL_AUTH_PIPELINE = ( |
||||||
|
'social.pipeline.social_auth.social_details', |
||||||
|
'social.pipeline.social_auth.social_uid', |
||||||
|
'functions.pipeline.load_user', |
||||||
|
'social.pipeline.social_auth.auth_allowed', |
||||||
|
'social.pipeline.social_auth.social_user', |
||||||
|
'social.pipeline.user.get_username', |
||||||
|
'functions.pipeline.require_email', |
||||||
|
#'social.pipeline.mail.mail_validation', |
||||||
|
'functions.pipeline.create_user', |
||||||
|
#'social.pipeline.user.create_user', |
||||||
|
'social.pipeline.social_auth.associate_by_email', |
||||||
|
'social.pipeline.social_auth.associate_user', |
||||||
|
'social.pipeline.social_auth.load_extra_data', |
||||||
|
'social.pipeline.user.user_details' |
||||||
|
|
||||||
|
) |
||||||
|
|
||||||
|
REQUIRES_EMAIL_VALIDATION = True |
||||||
|
SOCIAL_AUTH_EMAIL_VALIDATION_FUNCTION = 'functions.pipeline.SendVerificationEmail' |
||||||
|
SOCIAL_AUTH_EMAIL_VALIDATION_URL = '/email_verify_sent/' |
||||||
|
|
||||||
|
|
||||||
|
SOCIAL_AUTH_VK_OAUTH2_KEY = '3393841' |
||||||
|
SOCIAL_AUTH_VK_OAUTH2_SECRET = '2P19EBUEpLZifaabbREv' |
||||||
|
SOCIAL_AUTH_VK_OAUTH2_SCOPE =['email'] |
||||||
|
SOCIAL_AUTH_VK_OAUTH2_PROFILE_EXTRA_PARAMS = { |
||||||
|
'fields': 'email' |
||||||
|
} |
||||||
|
|
||||||
|
SOCIAL_AUTH_FACEBOOK_KEY = '133775720059470' |
||||||
|
SOCIAL_AUTH_FACEBOOK_SECRET = '434edf89c24a290497646a739df656c6' |
||||||
|
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email', 'publish_actions'] |
||||||
|
|
||||||
|
SOCIAL_AUTH_TWITTER_KEY = 'S6NX33FazTcWuqnXQhlOdg' |
||||||
|
SOCIAL_AUTH_TWITTER_SECRET = 'MxUGfySQmLI5kvqSoAtWsGje2eAHQL7Jo8mXuIZ4D0' |
||||||
|
SOCIAL_AUTH_TWITTER_SCOPE = ['email'] |
||||||
|
|
||||||
|
SOCIAL_AUTH_GOOGLE_OAUTH_KEY = '1044044901114.apps.googleusercontent.com' |
||||||
|
SOCIAL_AUTH_GOOGLE_OAUTH_SECRET = 'j_McErlPPof88eNrmOXI-ZXI' |
||||||
|
SOCIAL_AUTH_GOOGLE_OAUTH_SCOPE = ['email'] |
||||||
|
|
||||||
|
SOCIAL_AUTH_MAILRU_OAUTH2_KEY = '697945' |
||||||
|
SOCIAL_AUTH_MAILRU_OAUTH2_SECRET = '343581b9e31961b334532cc1880066e8' |
||||||
|
SOCIAL_AUTH_MAILRU_OAUTH2_SCOPE = ['email'] |
||||||
|
|
||||||
|
SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_KEY = 'CBAQDCKIABABABABA' |
||||||
|
SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_SECRET = '814CDDCD3E2D2F278EF1591B' |
||||||
|
SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_PUBLIC_NAME = '128007936' |
||||||
|
SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_PUBLIC_SCOPE = ['email'] |
||||||
|
|
||||||
|
SOCIAL_AUTH_LINKEDIN_KEY = 'jt9xwquj1fkd' |
||||||
|
SOCIAL_AUTH_LINKEDIN_SECRET = 'GvM2xQCNADaBfiMy' |
||||||
|
SOCIAL_AUTH_LINKEDIN_SCOPE = ['email'] |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLED_APPS = ( |
||||||
|
'django.contrib.admin', |
||||||
|
'django.contrib.auth', |
||||||
|
'django.contrib.contenttypes', |
||||||
|
'django.contrib.sessions', |
||||||
|
'django.contrib.sites', |
||||||
|
'django.contrib.redirects', |
||||||
|
'django.contrib.messages', |
||||||
|
'django.contrib.staticfiles', |
||||||
|
'django.contrib.humanize', |
||||||
|
'django.contrib.sitemaps', |
||||||
|
'haystack', |
||||||
|
#custom modules |
||||||
|
'redirects', |
||||||
|
'stats_collector', |
||||||
|
'emencia.django.newsletter', |
||||||
|
'accounts', |
||||||
|
'article', |
||||||
|
'city', |
||||||
|
'company', |
||||||
|
'conference', |
||||||
|
'core', |
||||||
|
'country', |
||||||
|
'directories', |
||||||
|
'expobanner', |
||||||
|
'exposition', |
||||||
|
'file', |
||||||
|
'import_xls', |
||||||
|
'news', |
||||||
|
'note', |
||||||
|
'organiser', |
||||||
|
'place_conference', |
||||||
|
'place_exposition', |
||||||
|
'photoreport', |
||||||
|
'registration', |
||||||
|
'review', |
||||||
|
'seminar', |
||||||
|
'service', |
||||||
|
'settings', |
||||||
|
'theme', |
||||||
|
'translator', |
||||||
|
'webinar', |
||||||
|
'meta', |
||||||
|
#django modules |
||||||
|
'django_crontab', |
||||||
|
'sorl.thumbnail', # for logos |
||||||
|
'photologue', # photogallery |
||||||
|
'sortedm2m', # photologue dependence |
||||||
|
'hvad', # |
||||||
|
'tinymce', # ??? |
||||||
|
'ckeditor', # wysiwig editor in admin |
||||||
|
'django_messages', # messages |
||||||
|
'bitfield', |
||||||
|
'djutils', # ?? |
||||||
|
'pytils', # ?? |
||||||
|
'pymorphy', # ?? |
||||||
|
'password_reset', # reset password |
||||||
|
'social.apps.django_app.default', # social auth |
||||||
|
'core', |
||||||
|
'specialist_catalog', |
||||||
|
'south', |
||||||
|
'rosetta', |
||||||
|
) |
||||||
|
|
||||||
|
CRONJOBS = [ |
||||||
|
('8 * * * *', 'django.core.management.call_command', ['send_newsletter']), |
||||||
|
|
||||||
|
('0 * * * *', 'django.core.management.call_command', ['update_index', 'conference', '--remove', '--age=6']), |
||||||
|
('5 * * * *', 'django.core.management.call_command', ['update_index', 'exposition', '--remove', '--age=6']), |
||||||
|
('0 1,13 * * *', 'django.core.management.call_command', ['update_index', 'place_exposition', '--remove', '--age=24']), |
||||||
|
('0 3 * * *', 'django.core.management.call_command', ['update_index', 'company', '--remove', '--age=48']), |
||||||
|
('0 4 * * *', 'django.core.management.call_command', ['update_index', 'theme', '--remove', '--age=48']), |
||||||
|
('0 5 * * * ', 'django.core.management.call_command', ['update_index', 'tag', '--remove', '--age=48']), |
||||||
|
('0 6 * * *', 'django.core.management.call_command', ['update_index', 'country', '--remove', '--age=48']), |
||||||
|
('0 7 * * *', 'django.core.management.call_command', ['update_index', 'city', '--remove', '--age=48']), |
||||||
|
|
||||||
|
('10 * * * *', 'django.core.management.call_command', ['banner_log_update']), |
||||||
|
('20 2,14 * * *', 'django.core.management.call_command', ['banner_log_check_previous_day']), |
||||||
|
('*/5 * * * *', 'django.core.management.call_command', ['update_views_cache']), |
||||||
|
|
||||||
|
('40 6 * * * ', 'django.core.management.call_command', ['newsletter_contacts_remove_notactivated']), |
||||||
|
('41 5 * * *', 'django.core.management.call_command', ['newsletter_create_announce']), |
||||||
|
|
||||||
|
('12 4 * * *', 'django.core.management.call_command', ['stats_daily']), |
||||||
|
|
||||||
|
] |
||||||
|
|
||||||
|
PYMORPHY_DICTS = { |
||||||
|
'ru': { 'dir': os.path.join(SITE_ROOT, 'settings/russian_dicts')} #'/home/www/proj/settings/russian_dicts' }, |
||||||
|
} |
||||||
|
|
||||||
|
# search backend |
||||||
|
HAYSTACK_CONNECTIONS = { |
||||||
|
'default': { |
||||||
|
'ENGINE': 'haystack.backends.solr_backend.SolrEngine', |
||||||
|
'URL': 'http://localhost:8983/solr' |
||||||
|
# ...or for multicore... |
||||||
|
# 'URL': 'http://127.0.0.1:8983/solr/mysite', |
||||||
|
}, |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
# A sample logging configuration. The only tangible logging |
||||||
|
# performed by this configuration is to send an email to |
||||||
|
# the site admins on every HTTP 500 error when DEBUG=False. |
||||||
|
# See http://docs.djangoproject.com/en/dev/topics/logging for |
||||||
|
# more details on how to customize your logging configuration. |
||||||
|
LOGGING = { |
||||||
|
'version': 1, |
||||||
|
'disable_existing_loggers': False, |
||||||
|
'filters': { |
||||||
|
'require_debug_false': { |
||||||
|
'()': 'django.utils.log.RequireDebugFalse' |
||||||
|
} |
||||||
|
}, |
||||||
|
'handlers': { |
||||||
|
'mail_admins': { |
||||||
|
'level': 'ERROR', |
||||||
|
'filters': ['require_debug_false'], |
||||||
|
'class': 'django.utils.log.AdminEmailHandler' |
||||||
|
} |
||||||
|
}, |
||||||
|
'loggers': { |
||||||
|
'django.request': { |
||||||
|
'handlers': ['mail_admins'], |
||||||
|
'level': 'ERROR', |
||||||
|
'propagate': True, |
||||||
|
}, |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
# TODO automate crons |
||||||
|
""" |
||||||
|
# update search indexes |
||||||
|
0 * * * * /usr/bin/python /var/www/proj/manage.py update_index conference --remove --age=6 |
||||||
|
0 * * * * /usr/bin/python /var/www/proj/manage.py update_index exposition --remove --age=6 |
||||||
|
0 1,13 * * * /usr/bin/python /var/www/proj/manage.py update_index place_exposition --remove --age=24 |
||||||
|
0 3 * * * /usr/bin/python /var/www/proj/manage.py update_index company --remove --age=48 |
||||||
|
0 4 * * * /usr/bin/python /var/www/proj/manage.py update_index theme --remove --age=48 |
||||||
|
0 5 * * * /usr/bin/python /var/www/proj/manage.py update_index tag --remove --age=48 |
||||||
|
0 6 * * * /usr/bin/python /var/www/proj/manage.py update_index country --remove --age=48 |
||||||
|
0 7 * * * /usr/bin/python /var/www/proj/manage.py update_index city --remove --age=48 |
||||||
|
# update banner logs |
||||||
|
10 * * * * /usr/bin/python /var/www/proj/manage.py banner_log_update |
||||||
|
20 2,14 * * * /usr/bin/python /var/www/proj/manage.py banner_log_check_previous_day |
||||||
|
# update hotels prices |
||||||
|
20 1 * * 6 /usr/bin/python /var/www/proj/manage.py update_hotels_price |
||||||
|
# newsletter |
||||||
|
20 * * * * /usr/bin/python /var/www/proj/manage.py send_newsletter |
||||||
|
40 6 * * * /usr/bin/python /var/www/proj/manage.py newsletter_contacts_remove_notactivated |
||||||
|
|
||||||
|
""" |
||||||
|
|
||||||
|
THUMBNAIL_DEBUG = DEBUG |
||||||
|
|
||||||
|
CALLBACK_EMAIL = 'kotzilla@ukr.net' |
||||||
|
|
||||||
|
BOOKING_AID = '333667' |
||||||
|
try: |
||||||
|
from functions.overrides import SeoPaginator as Paginator |
||||||
|
except ImportError: |
||||||
|
from django.core.paginator import Paginator |
||||||
|
DEFAULT_PAGINATOR = Paginator |
||||||
|
ADMIN_PAGINATION = 20 |
||||||
|
CLIENT_PAGINATION = 15 |
||||||
|
|
||||||
|
TEMPLATE_DEBUG = DEBUG |
||||||
|
NO_LOGO = '/static/client/img/no-logo.png' |
||||||
|
|
||||||
|
# events settings |
||||||
|
CURRENCY = ('RUB', 'USD', 'EUR', 'RMB', 'GBP', 'AED', 'SGD', 'TRY', 'CZK', 'CHF', 'SEK', 'LKR', 'UAH', 'IDR', 'PLN','JPY') |
||||||
|
BIT_AUDIENCE = (('experts', _(u'Специалисты')), ('experts and consumers', _(u'Специалисты и потребители')), |
||||||
|
('general public', _(u'Широкая публика'))) |
||||||
|
|
||||||
|
MONTHES = {'jan': {'value': 1, 'name': _(u'Январь')}, 'feb': {'value': 2, 'name': _(u'Февраль')}, |
||||||
|
'mar': {'value': 3, 'name': _(u'Март')}, 'apr': {'value': 4, 'name': _(u'Апрель')}, |
||||||
|
'may': {'value': 5, 'name': _(u'Май')}, 'jun': {'value': 6, 'name': _(u'Июнь')}, |
||||||
|
'jul': {'value': 7, 'name': _(u'Июль')}, 'aug': {'value': 8, 'name': _(u'Август')}, |
||||||
|
'sep': {'value': 9, 'name': _(u'Сентябрь')}, 'oct': {'value': 10, 'name': _(u'Октябрь')}, |
||||||
|
'nov': {'value': 11, 'name': _(u'Ноябрь')}, 'dec': {'value': 12, 'name': _(u'Декабрь')}} |
||||||
|
|
||||||
|
SNG_COUNTRIES = [159, 186, 31, 6, 99, 13, 189, 64] |
||||||
|
|
||||||
|
|
||||||
|
CLIENT_DATE_FORMAT = ["%d.%m.%Y"] |
||||||
|
|
||||||
|
# cache pages in random seconds. random in this range |
||||||
|
CACHE_RANGE = [60, 120] |
||||||
|
|
||||||
|
DEFAULT_POPUP_COOKIE = 'expo_b_default_popup' |
||||||
|
|
||||||
|
try: |
||||||
|
from local import * |
||||||
|
except ImportError, e: |
||||||
|
pass |
||||||
|
# save sessions in redis |
||||||
|
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' |
||||||
|
if not DEBUG: |
||||||
|
# cache template loading |
||||||
|
TEMPLATE_LOADERS = ( |
||||||
|
('django.template.loaders.cached.Loader', ( |
||||||
|
'django.template.loaders.filesystem.Loader', |
||||||
|
'django.template.loaders.app_directories.Loader', |
||||||
|
)), |
||||||
|
) |
||||||
|
else: |
||||||
|
TEMPLATE_LOADERS = ( |
||||||
|
'django.template.loaders.filesystem.Loader', |
||||||
|
'django.template.loaders.app_directories.Loader', |
||||||
|
) |
||||||
|
|
||||||
|
# debug_toolbar settings |
||||||
|
|
||||||
|
if DEBUG: |
||||||
|
DEBUG_TOOLBAR_PATCH_SETTINGS = False |
||||||
|
INTERNAL_IPS = ('127.0.0.1','176.121.5.82', '176.121.11.162', '77.123.47.46') |
||||||
|
|
||||||
|
MIDDLEWARE_CLASSES += ( |
||||||
|
'debug_toolbar.middleware.DebugToolbarMiddleware', |
||||||
|
) |
||||||
|
|
||||||
|
INSTALLED_APPS += ( |
||||||
|
'debug_toolbar', |
||||||
|
) |
||||||
|
JQUERY_URL = os.path.join(SITE_ROOT, 'static/client/js/jquery-ui-1.10.4.custom.min.js'), |
||||||
|
DEBUG_TOOLBAR_PANELS = [ |
||||||
|
#'debug_toolbar.panels.versions.VersionsPanel', |
||||||
|
'debug_toolbar.panels.timer.TimerPanel', |
||||||
|
'debug_toolbar.panels.settings.SettingsPanel', |
||||||
|
'debug_toolbar.panels.headers.HeadersPanel', |
||||||
|
'debug_toolbar.panels.request.RequestPanel', |
||||||
|
'debug_toolbar.panels.sql.SQLPanel', |
||||||
|
'debug_toolbar.panels.staticfiles.StaticFilesPanel', |
||||||
|
'debug_toolbar.panels.templates.TemplatesPanel', |
||||||
|
'debug_toolbar.panels.cache.CachePanel', |
||||||
|
'debug_toolbar.panels.signals.SignalsPanel', |
||||||
|
'debug_toolbar.panels.logging.LoggingPanel', |
||||||
|
'debug_toolbar.panels.redirects.RedirectsPanel', |
||||||
|
] |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue