Fix pep8 style

This commit is contained in:
Thomas Brüggemann 2017-01-08 20:33:33 +01:00
parent 060d3011f7
commit a698c69b4d

View File

@ -2,6 +2,7 @@ from django.contrib.auth.mixins import AccessMixin
from django.contrib.auth import authenticate, login from django.contrib.auth import authenticate, login
import base64 import base64
class Renderable(object): class Renderable(object):
""" """
A handy mixin to make it easier/cleaner to print output based on a A handy mixin to make it easier/cleaner to print output based on a
@ -12,41 +13,45 @@ class Renderable(object):
if self.verbosity >= verbosity: if self.verbosity >= verbosity:
print(text) print(text)
class SessionOrBasicAuthMixin(AccessMixin): class SessionOrBasicAuthMixin(AccessMixin):
""" """
Session or Basic Authentication mixin for Django. Session or Basic Authentication mixin for Django.
It determines if the requester is already logged in or if they have provided It determines if the requester is already logged in or if they have
proper http-authorization and returning the view if all goes well, otherwise provided proper http-authorization and returning the view if all goes
responding with a 401. well, otherwise responding with a 401.
Base for mixin found here: https://djangosnippets.org/snippets/3073/ Base for mixin found here: https://djangosnippets.org/snippets/3073/
""" """
def dispatch(self, request, *args, **kwargs): def dispatch(self, request, *args, **kwargs):
# check if user is authenticated via the session # check if user is authenticated via the session
if request.user.is_authenticated: if request.user.is_authenticated:
# Already logged in, just return the view. # Already logged in, just return the view.
return super(SessionOrBasicAuthMixin, self).dispatch( return super(SessionOrBasicAuthMixin, self).dispatch(
request, *args, **kwargs request, *args, **kwargs
) )
# apparently not authenticated via session, maybe via HTTP Basic? # apparently not authenticated via session, maybe via HTTP Basic?
if 'HTTP_AUTHORIZATION' in request.META: if 'HTTP_AUTHORIZATION' in request.META:
auth = request.META['HTTP_AUTHORIZATION'].split() auth = request.META['HTTP_AUTHORIZATION'].split()
if len(auth) == 2: if len(auth) == 2:
# NOTE: Support for only basic authentication # NOTE: Support for only basic authentication
if auth[0].lower() == "basic": if auth[0].lower() == "basic":
uname, passwd = base64.b64decode(auth[1]).decode('utf-8').split(':') authString = base64.b64decode(auth[1]).decode('utf-8')
user = authenticate(username=uname, password=passwd) uname, passwd = authString.split(':')
if user is not None: user = authenticate(username=uname, password=passwd)
if user.is_active: if user is not None:
login(request, user) if user.is_active:
request.user = user login(request, user)
return super(SessionOrBasicAuthMixin, self).dispatch( request.user = user
request, *args, **kwargs return super(
) SessionOrBasicAuthMixin, self
).dispatch(
request, *args, **kwargs
)
# nope, really not authenticated # nope, really not authenticated
return self.handle_no_permission() return self.handle_no_permission()