-
Notifications
You must be signed in to change notification settings - Fork 166
Expand file tree
/
Copy pathconf.py
More file actions
44 lines (37 loc) · 1.55 KB
/
Copy pathconf.py
File metadata and controls
44 lines (37 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- coding: utf-8 -*-
from django.conf import settings as django_settings
CACHE_LOADER_NAME = 'django_mobile.loader.CachedLoader'
DJANGO_MOBILE_LOADER = 'django_mobile.loader.Loader'
class SettingsProxy(object):
def __init__(self, settings, defaults):
self.settings = settings
self.defaults = defaults
def __getattr__(self, attr):
try:
return getattr(self.settings, attr)
except AttributeError:
try:
return getattr(self.defaults, attr)
except AttributeError:
raise AttributeError(u'settings object has no attribute "%s"' % attr)
class defaults(object):
FLAVOURS = (u'full', u'mobile',)
DEFAULT_MOBILE_FLAVOUR = u'mobile'
FLAVOURS_TEMPLATE_PREFIX = u''
FLAVOURS_GET_PARAMETER = u'flavour'
FLAVOURS_STORAGE_BACKEND = u'cookie'
FLAVOURS_COOKIE_KEY = u'flavour'
FLAVOURS_COOKIE_AGE = None
FLAVOURS_COOKIE_DOMAIN = None
FLAVOURS_COOKIE_HTTPONLY = False
FLAVOURS_SESSION_KEY = u'flavour'
FLAVOURS_TEMPLATE_LOADERS = []
for loader in django_settings.TEMPLATE_LOADERS:
if isinstance(loader, (tuple, list)) and loader[0] == CACHE_LOADER_NAME:
for cached_loader in loader[1]:
if cached_loader != DJANGO_MOBILE_LOADER:
FLAVOURS_TEMPLATE_LOADERS.append(cached_loader)
elif loader != DJANGO_MOBILE_LOADER:
FLAVOURS_TEMPLATE_LOADERS.append(loader)
FLAVOURS_TEMPLATE_LOADERS = tuple(FLAVOURS_TEMPLATE_LOADERS)
settings = SettingsProxy(django_settings, defaults)