Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

more better site settings

  • Loading branch information...
commit 9bf417669b0f6849fdd7887d59620daf6199cfa9 1 parent 673fc55
washort authored November 13, 2012
1  gelato/admin/.#settings.py
1,155  gelato/admin/settings.py
@@ -12,8 +12,6 @@
12 12
 LOG_TABLE_SUFFIX = ''
13 13
 EVENT_TABLE_SUFFIX = ''
14 14
 
15  
-# jingo-minify settings
16  
-CACHEBUST_IMGS = True
17 15
 try:
18 16
     # If we have build ids available, we'll grab them here and add them to our
19 17
     # CACHE_PREFIX.  This will let us not have to flush memcache during updates
@@ -23,28 +21,14 @@
23 21
 except ImportError:
24 22
     build_id = ""
25 23
 
26  
-# jingo-minify: Style sheet media attribute default
27  
-CSS_MEDIA_DEFAULT = 'all'
28  
-
29 24
 # Make filepaths relative to the root of zamboni.
30 25
 ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
31 26
 path = lambda *a: os.path.join(ROOT, *a)
32 27
 
33  
-# We need to track this because hudson can't just call its checkout "zamboni".
34  
-# It puts it in a dir called "workspace".  Way to be, hudson.
35  
-ROOT_PACKAGE = os.path.basename(ROOT)
36  
-
37 28
 DEBUG = True
38 29
 TEMPLATE_DEBUG = DEBUG
39 30
 DEBUG_PROPAGATE_EXCEPTIONS = True
40 31
 
41  
-# need to view JS errors on a remote device? (requires node)
42  
-# > npm install now
43  
-# > node media/js/debug/remote_debug_server.node.js
44  
-# REMOTE_JS_DEBUG = 'localhost:37767'
45  
-# then connect to http://localhost:8080/ to view
46  
-REMOTE_JS_DEBUG = False
47  
-
48 32
 # LESS CSS OPTIONS (Debug only)
49 33
 LESS_PREPROCESS = False  # Compile LESS with Node, rather than client-side JS?
50 34
 LESS_LIVE_REFRESH = False  # Refresh the CSS on save?
@@ -54,18 +38,6 @@
54 38
 # instead of YUI.
55 39
 UGLIFY_BIN = None
56 40
 
57  
-ADMINS = (
58  
-    # ('Your Name', 'your_email@domain.com'),
59  
-)
60  
-MANAGERS = ADMINS
61  
-
62  
-FLIGTAR = 'amo-admins@mozilla.org'
63  
-EDITORS_EMAIL = 'amo-editors@mozilla.org'
64  
-SENIOR_EDITORS_EMAIL = 'amo-admin-reviews@mozilla.org'
65  
-MARKETPLACE_EMAIL = 'amo-marketplace@mozilla.org'
66  
-ABUSE_EMAIL = 'marketplace-abuse@mozilla.org'
67  
-NOBODY_EMAIL = 'nobody@mozilla.org'
68  
-
69 41
 DATABASES = {
70 42
     'default': {
71 43
         'NAME': 'zamboni',
@@ -80,15 +52,6 @@
80 52
     },
81 53
 }
82 54
 
83  
-# A database to be used by the services scripts, which does not use Django.
84  
-# The settings can be copied from DATABASES, but since its not a full Django
85  
-# database connection, only some values are supported.
86  
-SERVICES_DATABASE = {
87  
-    'NAME': 'zamboni',
88  
-    'USER': '',
89  
-    'PASSWORD': '',
90  
-    'HOST': '',
91  
-}
92 55
 
93 56
 DATABASE_ROUTERS = ('multidb.PinningMasterSlaveRouter',)
94 57
 
@@ -175,25 +138,6 @@ def lazy_langs(languages):
175 138
 #   Example: https://addons.mozilla.org
176 139
 SITE_URL = 'http://%s' % DOMAIN
177 140
 
178  
-# Domain of the services site.  This is where your API, and in-product pages
179  
-# live.
180  
-SERVICES_DOMAIN = 'services.%s' % DOMAIN
181  
-
182  
-# Full URL to your API service. No trailing slash.
183  
-#   Example: https://services.addons.mozilla.org
184  
-SERVICES_URL = 'http://%s' % SERVICES_DOMAIN
185  
-
186  
-# When True, the addon API should include performance data.
187  
-API_SHOW_PERF_DATA = True
188  
-
189  
-# The domain of the mobile site.
190  
-MOBILE_DOMAIN = 'm.%s' % DOMAIN
191  
-
192  
-# The full url of the mobile site.
193  
-MOBILE_SITE_URL = 'http://%s' % MOBILE_DOMAIN
194  
-
195  
-OAUTH_CALLBACK_VIEW = 'api.views.request_token_ready'
196  
-
197 141
 # Absolute path to the directory that holds media.
198 142
 # Example: "/home/media/media.lawrence.com/"
199 143
 MEDIA_ROOT = path('media')
@@ -206,54 +150,8 @@ def lazy_langs(languages):
206 150
 # Absolute path to a temporary storage area
207 151
 TMP_PATH = path('tmp')
208 152
 
209  
-# When True, create a URL root /tmp that serves files in your temp path.
210  
-# This is useful for development to view upload pics, etc.
211  
-# NOTE: This only works when DEBUG is also True.
212  
-SERVE_TMP_PATH = False
213  
-
214  
-# Absolute path to a writable directory shared by all servers. No trailing
215  
-# slash.  Example: /data/
216  
-NETAPP_STORAGE = TMP_PATH
217  
-
218  
-#  File path for storing XPI/JAR files (or any files associated with an
219  
-#  add-on). Example: /mnt/netapp_amo/addons.mozilla.org-remora/files
220  
-ADDONS_PATH = NETAPP_STORAGE + '/addons'
221  
-
222  
-# Like ADDONS_PATH but protected by the app. Used for storing files that should
223  
-# not be publicly accessible (like disabled add-ons).
224  
-GUARDED_ADDONS_PATH = NETAPP_STORAGE + '/guarded-addons'
225  
-
226  
-# Used for storing watermarked addons for the app.
227  
-WATERMARKED_ADDONS_PATH = NETAPP_STORAGE + '/watermarked-addons'
228  
-
229  
-# Used for storing signed webapps.
230  
-SIGNED_APPS_PATH = NETAPP_STORAGE + '/signed-apps'
231  
-# Special reviewer signed ones for special people.
232  
-SIGNED_APPS_REVIEWER_PATH = NETAPP_STORAGE + '/signed-apps-reviewer'
233  
-
234  
-# Absolute path to a writable directory shared by all servers. No trailing
235  
-# slash.
236  
-# Example: /data/uploads
237  
-UPLOADS_PATH = NETAPP_STORAGE + '/uploads'
238  
-
239  
-DEFAULT_APP = 'firefox'
240  
-# File path for add-on files that get rsynced to mirrors.
241  
-# /mnt/netapp_amo/addons.mozilla.org-remora/public-staging
242  
-MIRROR_STAGE_PATH = NETAPP_STORAGE + '/public-staging'
243  
-
244  
-
245  
-# paths that don't require a locale prefix
246  
-SUPPORTED_NONLOCALES = ('google1f3e37b7351799a5.html', 'img', 'media',
247  
-                        'robots.txt', 'services', 'downloads', 'blocklist')
248  
-
249  
-# Make this unique, and don't share it with anybody.
250  
-SECRET_KEY = 'r#%9w^o_80)7f%!_ir5zx$tu3mupw9u%&s!)-_q%gy7i+fhx#)'
251  
-
252  
-# Templates
253  
-
254 153
 # List of callables that know how to import templates from various sources.
255 154
 TEMPLATE_LOADERS = (
256  
-    #'jingo.Loader',
257 155
     'django.template.loaders.filesystem.Loader',
258 156
     'django.template.loaders.app_directories.Loader',
259 157
 )
@@ -263,10 +161,6 @@ def lazy_langs(languages):
263 161
     'django.core.context_processors.debug',
264 162
     'django.core.context_processors.media',
265 163
     'django.core.context_processors.request',
266  
-#    'session_csrf.context_processor',
267  
-
268  
-    'django.contrib.messages.context_processors.messages',
269  
-    'jingo_minify.helpers.build_ids',
270 164
 )
271 165
 
272 166
 TEMPLATE_DIRS = (
@@ -274,26 +168,6 @@ def lazy_langs(languages):
274 168
 )
275 169
 
276 170
 
277  
-def JINJA_CONFIG():
278  
-    import jinja2
279  
-    from django.conf import settings
280  
-    from django.core.cache import cache
281  
-    config = {'extensions': ['tower.template.i18n',
282  
-                             'jinja2.ext.do',
283  
-                             'jinja2.ext.with_', 'jinja2.ext.loopcontrols'],
284  
-              'finalize': lambda x: x if x is not None else ''}
285  
-    if False and not settings.DEBUG:
286  
-        # We're passing the _cache object directly to jinja because
287  
-        # Django can't store binary directly; it enforces unicode on it.
288  
-        # Details: http://jinja.pocoo.org/2/documentation/api#bytecode-cache
289  
-        # and in the errors you get when you try it the other way.
290  
-        bc = jinja2.MemcachedBytecodeCache(cache._cache,
291  
-                                           "%sj2:" % settings.CACHE_PREFIX)
292  
-        config['cache_size'] = -1  # Never clear the cache
293  
-        config['bytecode_cache'] = bc
294  
-    return config
295  
-
296  
-
297 171
 MIDDLEWARE_CLASSES = (
298 172
     'django.contrib.sessions.middleware.SessionMiddleware',
299 173
     'django.contrib.auth.middleware.AuthenticationMiddleware',
@@ -302,9 +176,7 @@ def JINJA_CONFIG():
302 176
 
303 177
 # Auth
304 178
 AUTHENTICATION_BACKENDS = (
305  
-    'django_browserid.auth.BrowserIDBackend',
306 179
     'gelato.models.users.AmoUserBackend',
307  
-    'cake.backends.SessionBackend',
308 180
 )
309 181
 AUTH_PROFILE_MODULE = 'users.UserProfile'
310 182
 
@@ -318,27 +190,17 @@ def JINJA_CONFIG():
318 190
     'applications',
319 191
     'versions',
320 192
     'users',
321  
-    # Third party apps
322  
-    #'djcelery',
323 193
     'django_extensions',
324 194
     'django_nose',
325 195
     'raven.contrib.django',
326  
-    #'gunicorn',
327  
-    #'piston',
328 196
     'waffle',
329 197
 
330 198
     # Django contrib apps
331  
-    'django.contrib.staticfiles',
332 199
     'django.contrib.admin',
333 200
     'django.contrib.auth',
334 201
     'django.contrib.contenttypes',
335 202
     'django.contrib.messages',
336 203
     'django.contrib.sessions',
337  
-
338  
-    # Has to load after auth
339  
-    #'django_browserid',
340  
-    #'django_statsd',
341  
-    #'radagast',
342 204
 )
343 205
 
344 206
 # These apps will be removed from INSTALLED_APPS in a production environment.
@@ -353,468 +215,6 @@ def JINJA_CONFIG():
353 215
     '--exclude=mkt/*',
354 216
 ]
355 217
 
356  
-# If you want to run Selenium tests, you'll need to have a server running.
357  
-# Then give this a dictionary of settings.  Something like:
358  
-#    'HOST': 'localhost',
359  
-#    'PORT': 4444,
360  
-#    'BROWSER': '*firefox', # Alternative: *safari
361  
-SELENIUM_CONFIG = {}
362  
-
363  
-# Tells the extract script what files to look for l10n in and what function
364  
-# handles the extraction.  The Tower library expects this.
365  
-DOMAIN_METHODS = {
366  
-    'messages': [
367  
-        ('apps/**.py',
368  
-            'tower.management.commands.extract.extract_tower_python'),
369  
-        ('apps/**/templates/**.html',
370  
-            'tower.management.commands.extract.extract_tower_template'),
371  
-        ('templates/**.html',
372  
-            'tower.management.commands.extract.extract_tower_template'),
373  
-        ('mkt/**.py',
374  
-            'tower.management.commands.extract.extract_tower_python'),
375  
-        ('mkt/**/templates/**.html',
376  
-            'tower.management.commands.extract.extract_tower_template'),
377  
-        ('mkt/templates/**.html',
378  
-            'tower.management.commands.extract.extract_tower_template'),
379  
-    ],
380  
-    'lhtml': [
381  
-        ('**/templates/**.lhtml',
382  
-            'tower.management.commands.extract.extract_tower_template'),
383  
-    ],
384  
-    'javascript': [
385  
-        # We can't say **.js because that would dive into mochikit and timeplot
386  
-        # and all the other baggage we're carrying.  Timeplot, in particular,
387  
-        # crashes the extractor with bad unicode data.
388  
-        ('media/js/*.js', 'javascript'),
389  
-        ('media/js/amo2009/**.js', 'javascript'),
390  
-        ('media/js/impala/**.js', 'javascript'),
391  
-        ('media/js/zamboni/**.js', 'javascript'),
392  
-        ('media/js/mkt/**.js', 'javascript'),
393  
-    ],
394  
-}
395  
-
396  
-# Bundles is a dictionary of two dictionaries, css and js, which list css files
397  
-# and js files that can be bundled together by the minify app.
398  
-MINIFY_BUNDLES = {
399  
-    'css': {
400  
-        # CSS files common to the entire site.
401  
-        'zamboni/css': (
402  
-            'css/legacy/main.css',
403  
-            'css/legacy/main-mozilla.css',
404  
-            'css/legacy/jquery-lightbox.css',
405  
-            'css/legacy/autocomplete.css',
406  
-            'css/zamboni/zamboni.css',
407  
-            'css/global/headerfooter.css',
408  
-            'css/zamboni/tags.css',
409  
-            'css/zamboni/tabs.css',
410  
-            'css/impala/formset.less',
411  
-            'css/impala/suggestions.less',
412  
-            'css/impala/header.less',
413  
-            'css/impala/moz-tab.css',
414  
-            'css/impala/footer.less',
415  
-            'css/impala/faux-zamboni.less',
416  
-            'css/impala/collection-stats.less',
417  
-        ),
418  
-        'zamboni/impala': (
419  
-            'css/impala/base.css',
420  
-            'css/legacy/jquery-lightbox.css',
421  
-            'css/impala/site.less',
422  
-            'css/impala/typography.less',
423  
-            'css/global/headerfooter.css',
424  
-            'css/impala/forms.less',
425  
-            'css/common/invisible-upload.less',
426  
-            'css/impala/header.less',
427  
-            'css/impala/footer.less',
428  
-            'css/impala/moz-tab.css',
429  
-            'css/impala/hovercards.less',
430  
-            'css/impala/toplist.less',
431  
-            'css/impala/carousel.less',
432  
-            'css/impala/reviews.less',
433  
-            'css/impala/buttons.less',
434  
-            'css/impala/promos.less',
435  
-            'css/impala/addon_details.less',
436  
-            'css/impala/policy.less',
437  
-            'css/impala/expando.less',
438  
-            'css/impala/popups.less',
439  
-            'css/impala/l10n.less',
440  
-            'css/impala/contributions.less',
441  
-            'css/impala/lightbox.less',
442  
-            'css/impala/prose.less',
443  
-            'css/impala/sharing.less',
444  
-            'css/impala/abuse.less',
445  
-            'css/impala/paginator.less',
446  
-            'css/impala/listing.less',
447  
-            'css/impala/versions.less',
448  
-            'css/impala/users.less',
449  
-            'css/impala/collections.less',
450  
-            'css/impala/tooltips.less',
451  
-            'css/impala/search.less',
452  
-            'css/impala/suggestions.less',
453  
-            'css/impala/colorpicker.less',
454  
-            'css/impala/personas.less',
455  
-            'css/impala/login.less',
456  
-            'css/impala/dictionaries.less',
457  
-            'css/impala/apps.less',
458  
-            'css/impala/formset.less',
459  
-            'css/impala/tables.less',
460  
-            'css/impala/compat.less',
461  
-            'css/impala/localizers.less',
462  
-        ),
463  
-        'zamboni/stats': (
464  
-            'css/impala/stats.less',
465  
-        ),
466  
-        'zamboni/discovery-pane': (
467  
-            'css/zamboni/discovery-pane.css',
468  
-            'css/impala/promos.less',
469  
-            'css/legacy/jquery-lightbox.css',
470  
-        ),
471  
-        'zamboni/devhub': (
472  
-            'css/impala/tooltips.less',
473  
-            'css/zamboni/developers.css',
474  
-            'css/zamboni/docs.less',
475  
-            'css/impala/developers.less',
476  
-            'css/devhub/packager.less',
477  
-            'css/devhub/listing.less',
478  
-            'css/devhub/popups.less',
479  
-            'css/devhub/compat.less',
480  
-            'css/impala/formset.less',
481  
-            'css/devhub/forms.less',
482  
-            'css/common/invisible-upload.less',
483  
-            'css/devhub/submission.less',
484  
-            'css/devhub/refunds.less',
485  
-            'css/devhub/buttons.less',
486  
-            'css/devhub/in-app-config.less',
487  
-        ),
488  
-        'zamboni/devhub_impala': (
489  
-            'css/impala/developers.less',
490  
-            'css/devhub/listing.less',
491  
-            'css/devhub/popups.less',
492  
-            'css/devhub/compat.less',
493  
-            'css/devhub/dashboard.less',
494  
-            'css/devhub/forms.less',
495  
-            'css/common/invisible-upload.less',
496  
-            'css/devhub/submission.less',
497  
-            'css/devhub/search.less',
498  
-            'css/devhub/refunds.less',
499  
-        ),
500  
-        'zamboni/editors': (
501  
-            'css/zamboni/editors.css',
502  
-        ),
503  
-        'zamboni/files': (
504  
-            'css/lib/syntaxhighlighter/shCoreDefault.css',
505  
-            'css/zamboni/files.css',
506  
-        ),
507  
-        'zamboni/mobile': (
508  
-            'css/zamboni/mobile.css',
509  
-            'css/mobile/typography.less',
510  
-            'css/mobile/forms.less',
511  
-            'css/mobile/header.less',
512  
-            'css/mobile/search.less',
513  
-            'css/mobile/listing.less',
514  
-            'css/mobile/footer.less',
515  
-        ),
516  
-        'zamboni/admin': (
517  
-            'css/zamboni/admin-django.css',
518  
-            'css/zamboni/admin-mozilla.css',
519  
-            'css/zamboni/admin_features.css'
520  
-        ),
521  
-    },
522  
-    'js': {
523  
-        # JS files common to the entire site (pre-impala).
524  
-        'common': (
525  
-            'js/lib/jquery-1.6.4.js',
526  
-            'js/lib/underscore.js',
527  
-            'js/zamboni/browser.js',
528  
-            'js/amo2009/addons.js',
529  
-            'js/zamboni/init.js',
530  
-            'js/impala/capabilities.js',
531  
-            'js/lib/format.js',
532  
-            'js/lib/jquery.cookie.js',
533  
-            'js/zamboni/storage.js',
534  
-            'js/zamboni/apps.js',
535  
-            'js/zamboni/buttons.js',
536  
-            'js/zamboni/tabs.js',
537  
-            'js/common/keys.js',
538  
-
539  
-            # jQuery UI
540  
-            'js/lib/jquery-ui/jquery.ui.core.js',
541  
-            'js/lib/jquery-ui/jquery.ui.position.js',
542  
-            'js/lib/jquery-ui/jquery.ui.widget.js',
543  
-            'js/lib/jquery-ui/jquery.ui.mouse.js',
544  
-            'js/lib/jquery-ui/jquery.ui.autocomplete.js',
545  
-            'js/lib/jquery-ui/jquery.ui.datepicker.js',
546  
-            'js/lib/jquery-ui/jquery.ui.sortable.js',
547  
-
548  
-            'js/zamboni/helpers.js',
549  
-            'js/zamboni/global.js',
550  
-            'js/amo2009/global.js',
551  
-            'js/common/ratingwidget.js',
552  
-            'js/lib/jquery-ui/jqModal.js',
553  
-            'js/zamboni/l10n.js',
554  
-            'js/zamboni/debouncer.js',
555  
-
556  
-            # Homepage
557  
-            'js/impala/promos.js',
558  
-            'js/zamboni/homepage.js',
559  
-
560  
-            # Add-ons details page
561  
-            'js/lib/jquery-ui/ui.lightbox.js',
562  
-            'js/get-satisfaction-v2.js',
563  
-            'js/zamboni/contributions.js',
564  
-            'js/zamboni/addon_details.js',
565  
-            'js/impala/abuse.js',
566  
-            'js/zamboni/reviews.js',
567  
-
568  
-            # Personas
569  
-            'js/lib/jquery.hoverIntent.js',
570  
-            'js/zamboni/personas_core.js',
571  
-            'js/zamboni/personas.js',
572  
-
573  
-            # Collections
574  
-            'js/zamboni/collections.js',
575  
-
576  
-            # Performance
577  
-            'js/zamboni/perf.js',
578  
-
579  
-            # Users
580  
-            'js/zamboni/users.js',
581  
-
582  
-            # Fix-up outgoing links
583  
-            'js/zamboni/outgoing_links.js',
584  
-
585  
-            # Hover delay for global header
586  
-            'js/global/menu.js',
587  
-
588  
-            # Password length and strength
589  
-            'js/zamboni/password-strength.js',
590  
-
591  
-            # Search suggestions
592  
-            'js/impala/forms.js',
593  
-            'js/impala/ajaxcache.js',
594  
-            'js/impala/suggestions.js',
595  
-            'js/impala/site_suggestions.js',
596  
-        ),
597  
-
598  
-        # Impala: Things to be loaded at the top of the page
599  
-        'preload': (
600  
-            'js/lib/jquery-1.6.4.js',
601  
-            'js/impala/preloaded.js'
602  
-        ),
603  
-        # Impala: Things to be loaded at the bottom
604  
-        'impala': (
605  
-            'js/lib/underscore.js',
606  
-            'js/impala/carousel.js',
607  
-            'js/zamboni/browser.js',
608  
-            'js/amo2009/addons.js',
609  
-            'js/zamboni/init.js',
610  
-            'js/impala/capabilities.js',
611  
-            'js/lib/format.js',
612  
-            'js/lib/jquery.cookie.js',
613  
-            'js/zamboni/storage.js',
614  
-            'js/zamboni/apps.js',
615  
-            'js/zamboni/buttons.js',
616  
-            'js/lib/jquery.pjax.js',
617  
-            'js/impala/footer.js',
618  
-            'js/common/keys.js',
619  
-
620  
-            # BrowserID
621  
-            'js/zamboni/browserid_support.js',
622  
-
623  
-            # jQuery UI
624  
-            'js/lib/jquery-ui/jquery.ui.core.js',
625  
-            'js/lib/jquery-ui/jquery.ui.position.js',
626  
-            'js/lib/jquery-ui/jquery.ui.widget.js',
627  
-            'js/lib/jquery-ui/jquery.ui.mouse.js',
628  
-            'js/lib/jquery-ui/jquery.ui.autocomplete.js',
629  
-            'js/lib/jquery-ui/jquery.ui.datepicker.js',
630  
-            'js/lib/jquery-ui/jquery.ui.sortable.js',
631  
-
632  
-            'js/zamboni/truncation.js',
633  
-            'js/impala/ajaxcache.js',
634  
-            'js/zamboni/helpers.js',
635  
-            'js/zamboni/global.js',
636  
-            'js/impala/global.js',
637  
-            'js/common/ratingwidget.js',
638  
-            'js/lib/jquery-ui/jqModal.js',
639  
-            'js/zamboni/l10n.js',
640  
-            'js/impala/forms.js',
641  
-
642  
-            # Homepage
643  
-            'js/impala/promos.js',
644  
-            'js/impala/homepage.js',
645  
-
646  
-            # Add-ons details page
647  
-            'js/lib/jquery-ui/ui.lightbox.js',
648  
-            'js/get-satisfaction-v2.js',
649  
-            'js/zamboni/contributions.js',
650  
-            'js/impala/addon_details.js',
651  
-            'js/impala/abuse.js',
652  
-            'js/impala/reviews.js',
653  
-
654  
-            # Browse listing pages
655  
-            'js/impala/listing.js',
656  
-
657  
-            # Personas
658  
-            'js/lib/jquery.hoverIntent.js',
659  
-            'js/zamboni/personas_core.js',
660  
-            'js/zamboni/personas.js',
661  
-
662  
-            # Persona creation
663  
-            'js/common/upload-image.js',
664  
-            'js/lib/jquery.minicolors.js',
665  
-            'js/impala/persona_creation.js',
666  
-
667  
-            # Collections
668  
-            'js/zamboni/collections.js',
669  
-            'js/impala/collections.js',
670  
-
671  
-            # Performance
672  
-            'js/zamboni/perf.js',
673  
-
674  
-            # Users
675  
-            'js/zamboni/users.js',
676  
-            'js/impala/users.js',
677  
-
678  
-            # Search
679  
-            'js/impala/serializers.js',
680  
-            'js/impala/search.js',
681  
-            'js/impala/suggestions.js',
682  
-            'js/impala/site_suggestions.js',
683  
-
684  
-            # Login
685  
-            'js/impala/login.js',
686  
-
687  
-            # Fix-up outgoing links
688  
-            'js/zamboni/outgoing_links.js',
689  
-            'js/lib/stick.js',
690  
-        ),
691  
-        'zamboni/discovery': (
692  
-            'js/lib/jquery-1.6.4.js',
693  
-            'js/lib/underscore.js',
694  
-            'js/zamboni/browser.js',
695  
-            'js/zamboni/init.js',
696  
-            'js/impala/capabilities.js',
697  
-            'js/lib/format.js',
698  
-            'js/impala/carousel.js',
699  
-
700  
-            # Add-ons details
701  
-            'js/lib/jquery.cookie.js',
702  
-            'js/zamboni/storage.js',
703  
-            'js/zamboni/buttons.js',
704  
-            'js/lib/jquery-ui/ui.lightbox.js',
705  
-
706  
-            # Personas
707  
-            'js/lib/jquery.hoverIntent.js',
708  
-            'js/zamboni/personas_core.js',
709  
-            'js/zamboni/personas.js',
710  
-
711  
-            'js/zamboni/debouncer.js',
712  
-            'js/zamboni/truncation.js',
713  
-
714  
-            'js/impala/promos.js',
715  
-            'js/zamboni/discovery_addons.js',
716  
-            'js/zamboni/discovery_pane.js',
717  
-        ),
718  
-        'zamboni/discovery-video': (
719  
-            'js/lib/popcorn-1.0.js',
720  
-            'js/webtrends/webtrends-v0.1.js',
721  
-            'js/zamboni/discovery_video.js',
722  
-            'js/zamboni/discovery_tracking.js',
723  
-        ),
724  
-        'zamboni/devhub': (
725  
-            'js/zamboni/truncation.js',
726  
-            'js/common/upload-base.js',
727  
-            'js/common/upload-addon.js',
728  
-            'js/common/upload-image.js',
729  
-            'js/impala/formset.js',
730  
-            'js/zamboni/devhub.js',
731  
-            'js/zamboni/validator.js',
732  
-            'js/zamboni/packager.js',
733  
-        ),
734  
-        'zamboni/editors': (
735  
-            'js/zamboni/editors.js',
736  
-            'js/lib/highcharts.src.js',
737  
-            'js/impala/formset.js',
738  
-            'js/lib/jquery.hoverIntent.js',
739  
-            'js/lib/jquery.zoomBox.js',
740  
-            'js/mkt/themes_review.js',
741  
-        ),
742  
-        'zamboni/files': (
743  
-            'js/lib/diff_match_patch_uncompressed.js',
744  
-            'js/lib/syntaxhighlighter/xregexp-min.js',
745  
-            'js/lib/syntaxhighlighter/shCore.js',
746  
-            'js/lib/syntaxhighlighter/shLegacy.js',
747  
-            'js/lib/syntaxhighlighter/shBrushAppleScript.js',
748  
-            'js/lib/syntaxhighlighter/shBrushAS3.js',
749  
-            'js/lib/syntaxhighlighter/shBrushBash.js',
750  
-            'js/lib/syntaxhighlighter/shBrushCpp.js',
751  
-            'js/lib/syntaxhighlighter/shBrushCSharp.js',
752  
-            'js/lib/syntaxhighlighter/shBrushCss.js',
753  
-            'js/lib/syntaxhighlighter/shBrushDiff.js',
754  
-            'js/lib/syntaxhighlighter/shBrushJava.js',
755  
-            'js/lib/syntaxhighlighter/shBrushJScript.js',
756  
-            'js/lib/syntaxhighlighter/shBrushPhp.js',
757  
-            'js/lib/syntaxhighlighter/shBrushPlain.js',
758  
-            'js/lib/syntaxhighlighter/shBrushPython.js',
759  
-            'js/lib/syntaxhighlighter/shBrushSass.js',
760  
-            'js/lib/syntaxhighlighter/shBrushSql.js',
761  
-            'js/lib/syntaxhighlighter/shBrushVb.js',
762  
-            'js/lib/syntaxhighlighter/shBrushXml.js',
763  
-            'js/zamboni/files.js',
764  
-        ),
765  
-        'zamboni/localizers': (
766  
-            'js/zamboni/localizers.js',
767  
-        ),
768  
-        'zamboni/mobile': (
769  
-            'js/lib/jquery-1.6.4.js',
770  
-            'js/lib/underscore.js',
771  
-            'js/lib/jqmobile.js',
772  
-            'js/lib/jquery.cookie.js',
773  
-            'js/lib/jquery.pjax.js',
774  
-            'js/impala/pjax.js',
775  
-            'js/zamboni/apps.js',
776  
-            'js/zamboni/browser.js',
777  
-            'js/zamboni/init.js',
778  
-            'js/impala/capabilities.js',
779  
-            'js/lib/format.js',
780  
-            'js/zamboni/mobile/buttons.js',
781  
-            'js/zamboni/truncation.js',
782  
-            'js/impala/footer.js',
783  
-            'js/zamboni/personas_core.js',
784  
-            'js/zamboni/mobile/personas.js',
785  
-            'js/zamboni/helpers.js',
786  
-            'js/zamboni/mobile/general.js',
787  
-            'js/common/ratingwidget.js',
788  
-            'js/zamboni/browserid_support.js',
789  
-        ),
790  
-        'zamboni/stats': (
791  
-            'js/lib/jquery-datepicker.js',
792  
-            'js/lib/highcharts.src.js',
793  
-            'js/impala/stats/csv_keys.js',
794  
-            'js/impala/stats/helpers.js',
795  
-            'js/impala/stats/dateutils.js',
796  
-            'js/impala/stats/manager.js',
797  
-            'js/impala/stats/controls.js',
798  
-            'js/impala/stats/overview.js',
799  
-            'js/impala/stats/topchart.js',
800  
-            'js/impala/stats/chart.js',
801  
-            'js/impala/stats/table.js',
802  
-            'js/impala/stats/stats.js',
803  
-        ),
804  
-        'zamboni/admin': (
805  
-            'js/zamboni/admin.js',
806  
-            'js/zamboni/admin_features.js',
807  
-            'js/zamboni/admin_validation.js',
808  
-        ),
809  
-        # This is included when DEBUG is True.  Bundle in <head>.
810  
-        'debug': (
811  
-            'js/debug/less_setup.js',
812  
-            'js/lib/less.js',
813  
-            'js/debug/less_live.js',
814  
-        ),
815  
-    }
816  
-}
817  
-
818 218
 
819 219
 # Caching
820 220
 # Prefix for cache keys (will prevent collisions when running parallel copies)
@@ -826,63 +226,12 @@ def JINJA_CONFIG():
826 226
 # it's not possible to invalidate these queries.
827 227
 CACHE_COUNT_TIMEOUT = 60
828 228
 
829  
-# To enable pylibmc compression (in bytes)
830  
-PYLIBMC_MIN_COMPRESS_LEN = 0  # disabled
831  
-
832  
-# External tools.
833  
-JAVA_BIN = '/usr/bin/java'
834  
-
835  
-# Add-on download settings.
836  
-MIRROR_DELAY = 30  # Minutes before we serve downloads from mirrors.
837  
-MIRROR_URL = 'http://releases.mozilla.org/pub/mozilla.org/addons'
838  
-LOCAL_MIRROR_URL = 'https://static.addons.mozilla.net/_files'
839  
-PRIVATE_MIRROR_URL = '/_privatefiles'
840  
-
841  
-# File paths
842  
-ADDON_ICONS_PATH = UPLOADS_PATH + '/addon_icons'
843  
-COLLECTIONS_ICON_PATH = UPLOADS_PATH + '/collection_icons'
844  
-PREVIEWS_PATH = UPLOADS_PATH + '/previews'
845  
-IMAGEASSETS_PATH = UPLOADS_PATH + '/imageassets'
846  
-PERSONAS_PATH = UPLOADS_PATH + '/personas'
847  
-USERPICS_PATH = UPLOADS_PATH + '/userpics'
848  
-PACKAGER_PATH = os.path.join(TMP_PATH, 'packager')
849  
-ADDON_ICONS_DEFAULT_PATH = os.path.join(MEDIA_ROOT, 'img/addon-icons')
850  
-
851  
-PREVIEW_THUMBNAIL_PATH = (PREVIEWS_PATH + '/thumbs/%s/%d.png')
852  
-PREVIEW_FULL_PATH = (PREVIEWS_PATH + '/full/%s/%d.%s')
853  
-IMAGEASSET_FULL_PATH = (IMAGEASSETS_PATH + '/%s/%d.%s')
854  
-
855  
-# URL paths
856  
-# paths for images, e.g. mozcdn.com/amo or '/static'
857 229
 STATIC_URL = SITE_URL
858  
-ADDON_ICONS_DEFAULT_URL = MEDIA_URL + '/img/addon-icons'
859  
-ADDON_ICON_BASE_URL = MEDIA_URL + 'img/icons/'
860  
-ADDON_ICON_URL = (STATIC_URL +
861  
-        '/img/uploads/addon_icons/%s/%s-%s.png?modified=%s')
862  
-PREVIEW_THUMBNAIL_URL = (STATIC_URL +
863  
-        '/img/uploads/previews/thumbs/%s/%d.png?modified=%d')
864  
-PREVIEW_FULL_URL = (STATIC_URL +
865  
-        '/img/uploads/previews/full/%s/%d.%s?modified=%d')
866  
-IMAGEASSET_FULL_URL = (STATIC_URL +
867  
-        '/img/uploads/imageassets/%s/%d.%s?modified=%d')
868  
-USERPICS_URL = STATIC_URL + '/img/uploads/userpics/%s/%s/%s.png?modified=%d'
869  
-# paths for uploaded extensions
870  
-COLLECTION_ICON_URL = (STATIC_URL +
871  
-        '/img/uploads/collection_icons/%s/%s.png?m=%s')
872  
-NEW_PERSONAS_IMAGE_URL = (STATIC_URL +
873  
-                          '/img/uploads/personas/%(id)d/%(file)s')
874  
-PERSONAS_IMAGE_URL = ('http://www.getpersonas.com/static/'
875  
-                      '%(tens)d/%(units)d/%(id)d/%(file)s')
876  
-PERSONAS_IMAGE_URL_SSL = ('https://www.getpersonas.com/static/'
877  
-                          '%(tens)d/%(units)d/%(id)d/%(file)s')
878  
-PERSONAS_USER_ROOT = 'http://www.getpersonas.com/gallery/designer/%s'
879  
-PERSONAS_UPDATE_URL = 'https://www.getpersonas.com/update_check/%d'
880 230
 
881 231
 # Outgoing URL bouncer
882 232
 REDIRECT_URL = 'http://outgoing.mozilla.org/v1/'
883 233
 REDIRECT_SECRET_KEY = ''
884 234
 
885  
-PFS_URL = 'https://pfs.mozilla.org/plugins/PluginFinderService.php'
886 235
 # Allow URLs from these servers. Use full domain names.
887 236
 REDIRECT_URL_WHITELIST = ['addons.mozilla.org']
888 237
 
@@ -895,157 +244,8 @@ def JINJA_CONFIG():
895 244
 SESSION_COOKIE_DOMAIN = ".%s" % DOMAIN  # bug 608797
896 245
 MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage'
897 246
 
898  
-# These should have app+locale at the start to avoid redirects
899  
-LOGIN_URL = "/users/login"
900  
-LOGOUT_URL = "/users/logout"
901  
-LOGIN_REDIRECT_URL = "/"
902  
-LOGOUT_REDIRECT_URL = "/"
903  
-# When logging in with browser ID, a username is created automatically.
904  
-# In the case of duplicates, the process is recursive up to this number
905  
-# of times.
906  
-MAX_GEN_USERNAME_TRIES = 50
907  
-
908  
-# PayPal Settings
909  
-PAYPAL_API_VERSION = '78'
910  
-PAYPAL_APP_ID = ''
911  
-
912  
-# URLs for various calls.
913  
-PAYPAL_API_URL = 'https://api-3t.paypal.com/nvp'
914  
-PAYPAL_CGI_URL = 'https://www.paypal.com/cgi-bin/webscr'
915  
-PAYPAL_PAY_URL = 'https://svcs.paypal.com/AdaptivePayments/'
916  
-PAYPAL_FLOW_URL = 'https://paypal.com/webapps/adaptivepayment/flow/pay'
917  
-PAYPAL_PERMISSIONS_URL = 'https://svcs.paypal.com/Permissions/'
918  
-PAYPAL_JS_URL = 'https://www.paypalobjects.com/js/external/dg.js'
919  
-
920  
-# Permissions for the live or sandbox servers
921  
-PAYPAL_EMBEDDED_AUTH = {'USER': '', 'PASSWORD': '', 'SIGNATURE': ''}
922  
-
923  
-# PayPal split for Adaptive Payments.
924  
-# A tuple of lists of % and destination.
925  
-PAYPAL_CHAINS = ()
926  
-
927  
-# If the refund request is under this amount of seconds, it will be instant.
928  
-PAYPAL_REFUND_INSTANT = 30 * 60
929  
-
930  
-# The PayPal cert that we'll use for checking.
931  
-# When None, the Mozilla CA bundle is used to look it up.
932  
-PAYPAL_CERT = None
933  
-
934  
-# Limit PayPal pre-approvals to certain limits.
935  
-PAYPAL_LIMIT_PREAPPROVAL = True
936  
-
937  
-# Contribution limit, one time and monthly
938  
-MAX_CONTRIBUTION = 1000
939  
-
940  
-# Email settings
941  
-DEFAULT_FROM_EMAIL = "Mozilla Add-ons <nobody@mozilla.org>"
942  
-
943  
-# Email goes to the console by default.  s/console/smtp/ for regular delivery
944  
-EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
945  
-
946  
-# Please use all lowercase for the blacklist.
947  
-EMAIL_BLACKLIST = (
948  
-    'nobody@mozilla.org',
949  
-)
950  
-
951  
-# URL for Add-on Validation FAQ.
952  
-VALIDATION_FAQ_URL = ('https://wiki.mozilla.org/AMO:Editors/EditorGuide/'
953  
-                      'AddonReviews#Step_2:_Automatic_validation')
954  
-
955  
-
956  
-# ## Celery
957  
-# BROKER_HOST = 'localhost'
958  
-# BROKER_PORT = 5672
959  
-# BROKER_USER = 'zamboni'
960  
-# BROKER_PASSWORD = 'zamboni'
961  
-# BROKER_VHOST = 'zamboni'
962  
-# BROKER_CONNECTION_TIMEOUT = 0.1
963  
-# CELERY_RESULT_BACKEND = 'amqp'
964  
-# CELERY_IGNORE_RESULT = True
965  
-# CELERY_SEND_TASK_ERROR_EMAILS = True
966  
-# CELERYD_LOG_LEVEL = logging.INFO
967  
-# CELERYD_HIJACK_ROOT_LOGGER = False
968  
-# CELERY_IMPORTS = ('lib.video.tasks', 'lib.metrics')
969  
-# # We have separate celeryds for processing devhub & images as fast as possible
970  
-# # Some notes:
971  
-# # - always add routes here instead of @task(queue=<name>)
972  
-# # - when adding a queue, be sure to update deploy.py so that it gets restarted
973  
-# CELERY_ROUTES = {
974  
-#     # Devhub.
975  
-#     'devhub.tasks.validator': {'queue': 'devhub'},
976  
-#     'devhub.tasks.compatibility_check': {'queue': 'devhub'},
977  
-#     'devhub.tasks.fetch_manifest': {'queue': 'devhub'},
978  
-#     'devhub.tasks.fetch_icon': {'queue': 'devhub'},
979  
-#     'devhub.tasks.file_validator': {'queue': 'devhub'},
980  
-#     'devhub.tasks.packager': {'queue': 'devhub'},
981  
-
982  
-#     # Videos.
983  
-#     'lib.video.tasks.resize_video': {'queue': 'devhub'},
984  
-
985  
-#     # Images.
986  
-#     'bandwagon.tasks.resize_icon': {'queue': 'images'},
987  
-#     'users.tasks.resize_photo': {'queue': 'images'},
988  
-#     'users.tasks.delete_photo': {'queue': 'images'},
989  
-#     'devhub.tasks.resize_icon': {'queue': 'images'},
990  
-#     'devhub.tasks.resize_preview': {'queue': 'images'},
991  
-
992  
-#     # Bulk.
993  
-#     'zadmin.tasks.bulk_validate_file': {'queue': 'bulk'},
994  
-#     'zadmin.tasks.tally_validation_results': {'queue': 'bulk'},
995  
-#     'zadmin.tasks.add_validation_jobs': {'queue': 'bulk'},
996  
-#     'zadmin.tasks.notify_success': {'queue': 'bulk'},
997  
-#     'zadmin.tasks.notify_failed': {'queue': 'bulk'},
998  
-#     'devhub.tasks.flag_binary': {'queue': 'bulk'},
999  
-#     'stats.tasks.index_update_counts': {'queue': 'bulk'},
1000  
-#     'stats.tasks.index_download_counts': {'queue': 'bulk'},
1001  
-# }
1002  
-
1003  
-# # This is just a place to store these values, you apply them in your
1004  
-# # task decorator, for example:
1005  
-# #   @task(time_limit=CELERY_TIME_LIMITS['lib...']['hard'])
1006  
-# # Otherwise your task will use the default settings.
1007  
-# CELERY_TIME_LIMITS = {
1008  
-#     'lib.video.tasks.resize_video': {'soft': 360, 'hard': 600},
1009  
-# }
1010  
-
1011  
-# # When testing, we always want tasks to raise exceptions. Good for sanity.
1012  
-# CELERY_EAGER_PROPAGATES_EXCEPTIONS = True
1013  
-
1014  
-# # Time in seconds before celery.exceptions.SoftTimeLimitExceeded is raised.
1015  
-# # The task can catch that and recover but should exit ASAP. Note that there is
1016  
-# # a separate, shorter timeout for validation tasks.
1017  
-# CELERYD_TASK_SOFT_TIME_LIMIT = 60 * 2
1018  
-
1019  
-## Fixture Magic
1020  
-CUSTOM_DUMPS = {
1021  
-    'addon': {  # ./manage.py custom_dump addon id
1022  
-        'primary': 'addons.addon',  # This is our reference model.
1023  
-        'dependents': [  # These are items we wish to dump.
1024  
-            # Magic turns this into current_version.files.all()[0].
1025  
-            'current_version.files.all.0',
1026  
-            'current_version.apps.all.0',
1027  
-            'addonuser_set.all.0',
1028  
-        ],
1029  
-        'order': ('applications.application', 'translations.translation',
1030  
-                  'addons.addontype', 'files.platform', 'addons.addon',
1031  
-                  'versions.license', 'versions.version', 'files.file'),
1032  
-        'excludes': {
1033  
-            'addons.addon': ('_current_version',),
1034  
-        }
1035  
-    }
1036  
-}
1037  
-
1038  
-## Hera (http://github.com/clouserw/hera)
1039  
-HERA = [{'USERNAME': '',
1040  
-        'PASSWORD': '',
1041  
-        'LOCATION': '',
1042  
-       }]
1043  
-
1044 247
 # Logging
1045 248
 LOG_LEVEL = logging.DEBUG
1046  
-HAS_SYSLOG = True  # syslog is used if HAS_SYSLOG and NOT DEBUG.
1047  
-SYSLOG_TAG = "http_app_addons"
1048  
-SYSLOG_TAG2 = "http_app_addons2"
1049 249
 # See PEP 391 and log_settings.py for formatting help.  Each section of
1050 250
 # LOGGING will get merged into the corresponding section of
1051 251
 # log_settings.py. Handlers and log levels are set up automatically based
@@ -1054,16 +254,9 @@ def JINJA_CONFIG():
1054 254
 LOGGING_CONFIG = None
1055 255
 LOGGING = {
1056 256
     'loggers': {
1057  
-        'amqplib': {'handlers': ['null']},
1058 257
         'caching.invalidation': {'handlers': ['null']},
1059 258
         'caching': {'level': logging.WARNING},
1060  
-        'pyes': {'handlers': ['null']},
1061  
-        'rdflib': {'handlers': ['null']},
1062  
-        'suds': {'handlers': ['null']},
1063  
-        'z.task': {'level': logging.INFO},
1064 259
         'z.es': {'level': logging.INFO},
1065  
-        'z.metlog': {'level': logging.INFO},
1066  
-        's.client': {'level': logging.INFO},
1067 260
         'nose': {'level': logging.WARNING},
1068 261
     },
1069 262
 }
@@ -1080,228 +273,12 @@ def JINJA_CONFIG():
1080 273
 
1081 274
 METLOG = client_from_dict_config(METLOG_CONF)
1082 275
 
1083  
-CEF_PRODUCT = "amo"
1084  
-
1085  
-# CSP Settings
1086  
-CSP_REPORT_URI = '/services/csp/report'
1087  
-CSP_POLICY_URI = '/services/csp/policy?build=%s' % build_id
1088  
-CSP_REPORT_ONLY = True
1089  
-
1090  
-CSP_ALLOW = ("'self'",)
1091  
-CSP_IMG_SRC = ("'self'", STATIC_URL,
1092  
-               "https://www.google.com",  # Recaptcha comes from google
1093  
-               "https://statse.webtrendslive.com",
1094  
-               "https://www.getpersonas.com",
1095  
-               "https://s3.amazonaws.com",  # getsatisfaction
1096  
-              )
1097  
-CSP_SCRIPT_SRC = ("'self'", STATIC_URL,
1098  
-                  "https://www.google.com",  # Recaptcha
1099  
-                  "https://browserid.org",
1100  
-                  "https://login.persona.org",
1101  
-                  "https://www.paypalobjects.com",
1102  
-                  "http://raw.github.com",
1103  
-                  "https://raw.github.com",
1104  
-                  )
1105  
-CSP_STYLE_SRC = ("'self'", STATIC_URL,
1106  
-                 "http://raw.github.com",
1107  
-                 "https://raw.github.com",
1108  
-                )
1109  
-CSP_OBJECT_SRC = ("'none'",)
1110  
-CSP_MEDIA_SRC = ("'none'",)
1111  
-CSP_FRAME_SRC = ("https://s3.amazonaws.com",  # getsatisfaction
1112  
-                 "https://getsatisfaction.com",  # getsatisfaction
1113  
-                )
1114  
-CSP_FONT_SRC = ("'self'", "fonts.mozilla.org", "www.mozilla.org", )
1115  
-# self is needed for paypal which sends x-frame-options:allow when needed.
1116  
-# x-frame-options:DENY is sent the rest of the time.
1117  
-CSP_FRAME_ANCESTORS = ("'self'",)
1118  
-
1119  
-
1120  
-# Should robots.txt deny everything or disallow a calculated list of URLs we
1121  
-# don't want to be crawled?  Default is false, disallow everything.
1122  
-# Also see http://www.google.com/support/webmasters/bin/answer.py?answer=93710
1123  
-ENGAGE_ROBOTS = False
1124  
-
1125  
-# Read-only mode setup.
1126  
-READ_ONLY = False
1127  
-
1128  
-
1129  
-# Turn on read-only mode in settings_local.py by putting this line
1130  
-# at the VERY BOTTOM: read_only_mode(globals())
1131  
-def read_only_mode(env):
1132  
-    env['READ_ONLY'] = True
1133  
-
1134  
-    # Replace the default (master) db with a slave connection.
1135  
-    if not env.get('SLAVE_DATABASES'):
1136  
-        raise Exception("We need at least one slave database.")
1137  
-    slave = env['SLAVE_DATABASES'][0]
1138  
-    env['DATABASES']['default'] = env['DATABASES'][slave]
1139  
-
1140  
-    # No sessions without the database, so disable auth.
1141  
-    env['AUTHENTICATION_BACKENDS'] = ('users.backends.NoAuthForYou',)
1142  
-
1143  
-    # Add in the read-only middleware before csrf middleware.
1144  
-    extra = 'amo.middleware.ReadOnlyMiddleware'
1145  
-    before = 'session_csrf.CsrfMiddleware'
1146  
-    m = list(env['MIDDLEWARE_CLASSES'])
1147  
-    m.insert(m.index(before), extra)
1148  
-    env['MIDDLEWARE_CLASSES'] = tuple(m)
1149  
-
1150  
-
1151  
-# Uploaded file limits
1152  
-MAX_ICON_UPLOAD_SIZE = 4 * 1024 * 1024
1153  
-MAX_IMAGE_UPLOAD_SIZE = 4 * 1024 * 1024  # Image assets (tiles, promos)
1154  
-MAX_VIDEO_UPLOAD_SIZE = 4 * 1024 * 1024
1155  
-MAX_PHOTO_UPLOAD_SIZE = MAX_ICON_UPLOAD_SIZE
1156  
-MAX_PERSONA_UPLOAD_SIZE = 300 * 1024
1157  
-MAX_WEBAPP_UPLOAD_SIZE = 2 * 1024 * 1024
1158  
-
1159  
-# RECAPTCHA - copy all three statements to settings_local.py
1160  
-RECAPTCHA_PUBLIC_KEY = ''
1161  
-RECAPTCHA_PRIVATE_KEY = ''
1162  
-RECAPTCHA_URL = ('https://www.google.com/recaptcha/api/challenge?k=%s' %
1163  
-                 RECAPTCHA_PUBLIC_KEY)
1164  
-RECAPTCHA_AJAX_URL = (
1165  
-    'https://www.google.com/recaptcha/api/js/recaptcha_ajax.js')
1166  
-
1167 276
 # Send Django signals asynchronously on a background thread.
1168 277
 ASYNC_SIGNALS = True
1169 278
 
1170  
-# Performance notes on add-ons
1171  
-PERFORMANCE_NOTES = False
1172  
-
1173  
-# Used to flag slow addons.
1174  
-# If slowness of addon is THRESHOLD percent slower, show a warning.
1175  
-PERF_THRESHOLD = 25
1176  
-
1177  
-REDIS_BACKENDS = {'master': 'redis://localhost:6379?socket_timeout=0.5'}
1178  
-
1179  
-# Directory of JavaScript test files for django_qunit to run
1180  
-QUNIT_TEST_DIRECTORY = os.path.join(MEDIA_ROOT, 'js', 'zamboni', 'tests')
1181  
-
1182  
-# Full path or executable path (relative to $PATH) of the spidermonkey js
1183  
-# binary.  It must be a version compatible with amo-validator
1184  
-SPIDERMONKEY = None
1185  
-VALIDATE_ADDONS = True
1186  
-# Number of seconds before celery tasks will abort addon validation:
1187  
-VALIDATOR_TIMEOUT = 110
1188  
-
1189  
-# When True include full tracebacks in JSON. This is useful for QA on preview.
1190  
-EXPOSE_VALIDATOR_TRACEBACKS = False
1191  
-
1192  
-# Max number of warnings/errors to show from validator. Set to None for no
1193  
-# limit.
1194  
-VALIDATOR_MESSAGE_LIMIT = 500
1195  
-
1196 279
 # Feature flags
1197 280
 SEARCH_EXCLUDE_PERSONAS = True
1198  
-UNLINK_SITE_STATS = True
1199  
-
1200  
-# Set to True if we're allowed to use X-SENDFILE.
1201  
-XSENDFILE = True
1202  
-XSENDFILE_HEADER = 'X-SENDFILE'
1203  
-
1204  
-MOBILE_COOKIE = 'mamo'
1205  
-
1206  
-# If the users's Firefox has a version number greater than this we consider it
1207  
-# a beta.
1208  
-MIN_BETA_VERSION = '3.7'
1209 281
 
1210  
-DEFAULT_SUGGESTED_CONTRIBUTION = 5
1211  
-
1212  
-# Path to `ps`.
1213  
-PS_BIN = '/bin/ps'
1214  
-
1215  
-BLOCKLIST_COOKIE = 'BLOCKLIST_v1'
1216  
-
1217  
-# The maximum file size that is shown inside the file viewer.
1218  
-FILE_VIEWER_SIZE_LIMIT = 1048576
1219  
-# The maximum file size that you can have inside a zip file.
1220  
-FILE_UNZIP_SIZE_LIMIT = 104857600
1221  
-
1222  
-# How long to delay modify updates to cope with alleged NFS slowness.
1223  
-MODIFIED_DELAY = 3
1224  
-
1225  
-# This is a list of dictionaries that we should generate compat info for.
1226  
-# app: should match amo.FIREFOX.id.
1227  
-# main: the app version we're generating compat info for.
1228  
-# versions: version numbers to show in comparisons.
1229  
-# previous: the major version before :main.
1230  
-COMPAT = (
1231  
-    # Firefox.
1232  
-    dict(app=1, main='15.0', versions=('15.0', '15.0a2', '15.0a1'),
1233  
-         previous='14.0'),
1234  
-    dict(app=1, main='14.0', versions=('14.0', '14.0a2', '14.0a1'),
1235  
-         previous='13.0'),
1236  
-    dict(app=1, main='13.0', versions=('13.0', '13.0a2', '13.0a1'),
1237  
-         previous='12.0'),
1238  
-    dict(app=1, main='12.0', versions=('12.0', '12.0a2', '12.0a1'),
1239  
-         previous='11.0'),
1240  
-    dict(app=1, main='11.0', versions=('11.0', '11.0a2', '11.0a1'),
1241  
-         previous='10.0'),
1242  
-    dict(app=1, main='10.0', versions=('10.0', '10.0a2', '10.0a1'),
1243  
-         previous='9.0'),
1244  
-    dict(app=1, main='9.0', versions=('9.0', '9.0a2', '9.0a1'),
1245  
-         previous='8.0'),
1246  
-    dict(app=1, main='8.0', versions=('8.0', '8.0a2', '8.0a1'),
1247  
-         previous='7.0'),
1248  
-    dict(app=1, main='7.0', versions=('7.0', '7.0a2', '7.0a1'),
1249  
-         previous='6.0'),
1250  
-    dict(app=1, main='6.0', versions=('6.0', '6.0a2', '6.0a1'),
1251  
-         previous='5.0'),
1252  
-    dict(app=1, main='5.0', versions=('5.0', '5.0a2', '5.0a1'),
1253  
-         previous='4.0'),
1254  
-    dict(app=1, main='4.0', versions=('4.0', '4.0a1', '3.7a'),
1255  
-         previous='3.6'),
1256  
-    # Thunderbird.
1257  
-    dict(app=18, main='15.0', versions=('15.0', '15.0a2', '15.0a1'),
1258  
-         previous='14.0'),
1259  
-    dict(app=18, main='14.0', versions=('14.0', '14.0a2', '14.0a1'),
1260  
-         previous='13.0'),
1261  
-    dict(app=18, main='13.0', versions=('13.0', '13.0a2', '13.0a1'),
1262  
-         previous='12.0'),
1263  
-    dict(app=18, main='12.0', versions=('12.0', '12.0a2', '12.0a1'),
1264  
-         previous='11.0'),
1265  
-    dict(app=18, main='11.0', versions=('11.0', '11.0a2', '11.0a1'),
1266  
-         previous='10.0'),
1267  
-    dict(app=18, main='10.0', versions=('10.0', '10.0a2', '10.0a1'),
1268  
-         previous='9.0'),
1269  
-    dict(app=18, main='9.0', versions=('9.0', '9.0a2', '9.0a1'),
1270  
-         previous='8.0'),
1271  
-    dict(app=18, main='8.0', versions=('8.0', '8.0a2', '8.0a1'),
1272  
-         previous='7.0'),
1273  
-    dict(app=18, main='7.0', versions=('7.0', '7.0a2', '7.0a1'),
1274  
-         previous='6.0'),
1275  
-    dict(app=18, main='6.0', versions=('6.0', '6.0a2', '6.0a1'),
1276  
-         previous='5.0'),
1277  
-    # Seamonkey.
1278  
-    dict(app=59, main='2.3', versions=('2.3', '2.3b', '2.3a'),
1279  
-         previous='2.2'),
1280  
-)
1281  
-
1282  
-# Latest nightly version of Firefox.
1283  
-NIGHTLY_VERSION = COMPAT[0]['main']
1284  
-
1285  
-# Default minimum version of Firefox/Thunderbird for Add-on Packager.
1286  
-DEFAULT_MINVER = COMPAT[4]['main']
1287  
-
1288  
-# URL for reporting arecibo errors too. If not set, won't be sent.
1289  
-ARECIBO_SERVER_URL = ""
1290  
-
1291  
-# A whitelist of domains that the authentication script will redirect to upon
1292