common.py 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. # Django settings for pbp_com project.
  2. import os
  3. import sys
  4. import logging
  5. import warnings; warnings.simplefilter("ignore")
  6. ## Directories
  7. CONF_ROOT = os.path.dirname(os.path.realpath(os.path.dirname(__file__)))
  8. PROJECT_ROOT = os.path.dirname(CONF_ROOT)
  9. SITE_ROOT = os.path.dirname(PROJECT_ROOT)
  10. MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media/')
  11. STATIC_ROOT = PROJECT_ROOT + '/static_collected/'
  12. STATIC_URL = '/static/'
  13. STATICFILES_DIRS = (
  14. os.path.join(PROJECT_ROOT, 'static/'),
  15. )
  16. VIRTUALENV='/var/lib/virtualenvs/pbp/lib/python2.5/site-packages'
  17. sys.path.append(SITE_ROOT)
  18. DEBUG=True
  19. TEMPLATE_DEBUG= DEBUG
  20. # Django settings for pbp project.
  21. ADMINS = (
  22. ('Jeremiah Savage', 'jeremiahs@pbp.me')
  23. )
  24. STOREFRONT_HELP_TO = ['subscriptions@pbp.me', 'web@pbp.me']
  25. # change of address email
  26. NOTIFICATIONS_EMAIL = ['subscriptions@pbp.me', 'web@pbp.me']
  27. LANGUAGE_CODE = 'en-us'
  28. MANAGERS = ADMINS
  29. USE_I18N = True
  30. APPEND_SLASH=False
  31. SMART_APPEND_SLASH=True
  32. SEND_BROKEN_LINK_EMAILS=False
  33. IGNORABLE_404_STARTS=('/vault/loginout.html','/calendar/submitanevent.html', 'robots.txt', )
  34. TIME_ZONE = 'America/New_York'
  35. LANGUAGE_CODE = 'en-us'
  36. # Our site ID numbers, set to constants for easy reference
  37. PBP = 2
  38. IA = 3
  39. CP = 4
  40. WP = 5
  41. # We're going to try setting this in the manage.py script.
  42. SITE_ID = PBP # pbp.com
  43. #import logging
  44. #LOG_DATE_FORMAT = '%d %b %Y %H:%M:%S'
  45. #LOG_FORMATTER = logging.Formatter('%(asctime)s %(name)-7s: %(levelname)-8s %(message)s',
  46. # datefmt=LOG_DATE_FORMAT)
  47. #CONSOLE_HANDLER = logging.StreamHandler() # defaults to stderr
  48. #CONSOLE_HANDLER.setFormatter(LOG_FORMATTER)
  49. #CONSOLE_HANDLER.setLevel(logging.DEBUG)
  50. LOGGING = {
  51. 'version': 1,
  52. 'disable_existing_loggers': True,
  53. 'formatters': {
  54. 'verbose': {
  55. 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
  56. },
  57. 'simple': {
  58. 'format': '%(levelname)s %(message)s'
  59. },
  60. },
  61. 'handlers': {
  62. 'null': {
  63. 'level':'DEBUG',
  64. 'class':'django.utils.log.NullHandler',
  65. },
  66. 'console': {
  67. 'level': 'DEBUG',
  68. 'class': 'logging.StreamHandler',
  69. 'formatter': 'verbose'
  70. },
  71. 'log_file': {
  72. 'level': 'DEBUG',
  73. 'class': 'logging.handlers.RotatingFileHandler',
  74. 'formatter': 'verbose',
  75. 'filename': '/var/log/uwsgi/pbp_com.log',
  76. 'maxBytes': 1024*1024*25, # 25 MB
  77. 'backupCount': 5,
  78. },
  79. 'mail_admins': {
  80. 'level': 'ERROR',
  81. 'class': 'django.utils.log.AdminEmailHandler'
  82. }
  83. },
  84. 'loggers': {
  85. 'django': {
  86. 'handlers': ['console', 'log_file', 'mail_admins'],
  87. 'level': 'INFO',
  88. 'propagate': True,
  89. },
  90. 'django.request': {
  91. 'handlers': ['console', 'log_file', 'mail_admins'],
  92. 'level': 'ERROR',
  93. 'propagate': False,
  94. },
  95. 'django.db.backends': {
  96. 'handlers': ['console', 'log_file', 'mail_admins'],
  97. 'level': 'INFO',
  98. 'propagate': False,
  99. },
  100. # Catch All Logger -- Captures any other logging
  101. '': {
  102. 'handlers': ['console', 'log_file', 'mail_admins'],
  103. 'level': 'DEBUG',
  104. 'propagate': True,
  105. }
  106. }
  107. }
  108. AUTH_PROFILE_MODULE='profiles.UserProfile'
  109. LOGIN_REDIRECT_URL = '/store/'
  110. # List of finder classes that know how to find static files in
  111. # various locations.
  112. STATICFILES_FINDERS = (
  113. 'django.contrib.staticfiles.finders.FileSystemFinder',
  114. 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
  115. )
  116. SECRET_KEY = 'l(4_rf+z#5oj7ik0j$ax9+zl)3yfkh8-ige$=!eoq=hydfbm7k'
  117. TEMPLATE_CONTEXT_PROCESSORS = (
  118. "django.contrib.auth.context_processors.auth",
  119. "django.core.context_processors.debug",
  120. "django.core.context_processors.i18n",
  121. "django.core.context_processors.media",
  122. "django.core.context_processors.tz",
  123. "django.contrib.messages.context_processors.messages",
  124. 'pbp_core.context_processors.pbp_store',
  125. 'adzone.context_processors.get_source_ip',)
  126. MIDDLEWARE_CLASSES = (
  127. 'django.middleware.common.CommonMiddleware',
  128. 'django.contrib.sessions.middleware.SessionMiddleware',
  129. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  130. 'django.middleware.csrf.CsrfViewMiddleware',
  131. 'django.middleware.locale.LocaleMiddleware',
  132. 'ipfilter.middleware.FilterIPs',
  133. 'pbp_com.middleware.SmartAppendSlashMiddleware',
  134. 'pbp_com.middleware.SetRemoteAddrMiddleware',
  135. 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
  136. 'django.contrib.messages.middleware.MessageMiddleware',
  137. )
  138. AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
  139. ROOT_URLCONF = 'urls.pbp'
  140. #Django Merchant settings
  141. MERCHANT_TEST_MODE = True
  142. MERCHANT_SETTINGS = None # needs to set explicitly
  143. #if SITE_ID == PBP:
  144. HAYSTACK_SITECONF='pbp_com.search_sites'
  145. HAYSTACK_SEARCH_ENGINE='whoosh'
  146. HAYSTACK_WHOOSH_PATH=os.path.join(PROJECT_ROOT, 'search-index')
  147. CLASSIFIED_LENGTH=200
  148. INSTALLED_APPS = (
  149. 'django.contrib.auth',
  150. 'django.contrib.contenttypes',
  151. 'django.contrib.sessions',
  152. 'django.contrib.sites',
  153. 'django.contrib.staticfiles',
  154. 'django.contrib.admin',
  155. 'django.contrib.markup',
  156. 'django.contrib.humanize',
  157. 'django.contrib.comments',
  158. 'django.contrib.admindocs',
  159. 'django.contrib.sitemaps',
  160. 'django.contrib.flatpages',
  161. 'django_extensions',
  162. 'registration',
  163. 'profiles',
  164. 'debug_toolbar',
  165. 'typogrify',
  166. 'taggit',
  167. 'markitup',
  168. 'django_inlines',
  169. 'convert',
  170. 'ipfilter',
  171. 'documents',
  172. 'newsroom',
  173. 'darkroom',
  174. 'adzone',
  175. 'directory',
  176. 'marketplace',
  177. 'remember',
  178. 'classifieds',
  179. 'historical',
  180. 'almanac',
  181. 'visitors',
  182. 'haystack',
  183. )
  184. PASSWORD_HASHERS = (
  185. 'django.contrib.auth.hashers.PBKDF2PasswordHasher',
  186. 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
  187. 'django.contrib.auth.hashers.BCryptPasswordHasher',
  188. 'django.contrib.auth.hashers.SHA1PasswordHasher',
  189. 'django.contrib.auth.hashers.MD5PasswordHasher',
  190. 'django.contrib.auth.hashers.CryptPasswordHasher',
  191. )