Repository URL to install this package:
|
Version:
0.1.9 ▾
|
from branding.models import Brand, Policy
import logging
logger = logging.getLogger(__name__)
class BrandMiddleware(object):
def __init__(self, get_response=None):
self.get_response = get_response
def __call__(self, request):
self.process_request(request)
if self.get_response:
return self.get_response(request)
# noinspection PyMethodMayBeStatic
def process_request(self, request):
client_brand_param = request.GET.get('override_brand', '').lower()
client_brand_header = request.META.get('HTTP_BRAND', '').lower()
client_os_header = request.META.get('HTTP_OS', '').lower()
client_version_header = request.META.get('HTTP_APPVERSION', '').lower()
brand_name = client_brand_param or client_brand_header
brand = None
if brand_name:
try:
brand = Brand.objects.get(name__iexact=brand_name)
except Brand.DoesNotExist:
logger.warning('Invalid brand sent by a client: %s', brand_name)
request.brand = brand
request.client_os = client_os_header
request.client_version = client_version_header
class PolicyMiddleware(object):
def __init__(self, get_response=None):
self.get_response = get_response
def __call__(self, request):
self.process_request(request)
if self.get_response:
return self.get_response(request)
# noinspection PyMethodMayBeStatic
def process_request(self, request):
request.policy = None
try:
policy_number = int(request.META.get('HTTP_POLICY'))
except (TypeError, ValueError):
return
try:
request.policy = Policy.objects.get(number=policy_number)
except Policy.DoesNotExist:
return