snipt/blogs/middleware.py

52 lines
1.7 KiB
Python

from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
from annoying.functions import get_object_or_None
class BlogMiddleware:
def process_request(self, request):
request.blog_user = None
host = request.META.get('HTTP_HOST', '')
host_s = host.replace('www.', '').split('.')
if host != 'snipt.net' and host != 'snipt.localhost':
# nick.snipt.net or nicksergeant.com or blog.nicksergeant.com
if len(host_s) > 2:
# nick.snipt.net or blog.nicksergeant.com
if host_s[1] == 'snipt':
# nick.snipt.net or nick.snipt.localhost
blog_user = ''.join(host_s[:-2])
if '-' in blog_user:
request.blog_user = get_object_or_None(User, username__iexact=blog_user)
if request.blog_user is None:
request.blog_user = get_object_or_404(User, username__iexact=blog_user.replace('-', '_'))
else:
request.blog_user = get_object_or_404(User, username__iexact=blog_user)
else:
# blog.nicksergeant.com
# Get user for that domain
pass
else:
# nicksergeant.com
# Get user for that domain
pass
pass
if host == 'rochacbruno.com.br':
request.blog_user = User.objects.get(id=2156)
if host == 'snipt.joshhudnall.com':
request.blog_user = User.objects.get(id=10325)
if host == 'nicksergeant.com':
request.blog_user = User.objects.get(id=3)