From 407e302250d9020c3c0a13f63f9252e766d3286a Mon Sep 17 00:00:00 2001 From: Chris Rossi Date: Sun, 14 Oct 2012 15:15:47 -0400 Subject: Fixes for Python 3. --- pyramid/authentication.py | 4 ++-- pyramid/tests/test_authentication.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyramid/authentication.py b/pyramid/authentication.py index 50752c96e..d4fd7ab8b 100644 --- a/pyramid/authentication.py +++ b/pyramid/authentication.py @@ -890,8 +890,8 @@ class BasicAuthAuthenticationPolicy(CallbackAuthenticationPolicy): if authmeth.lower() != 'basic': return None try: - auth = auth.strip().decode('base64') - except binascii.Error: # can't decode + auth = b64decode(auth.strip()).decode('ascii') + except (TypeError, binascii.Error): # can't decode return None try: username, password = auth.split(':', 1) diff --git a/pyramid/tests/test_authentication.py b/pyramid/tests/test_authentication.py index bea62894e..dfe3cf0b0 100644 --- a/pyramid/tests/test_authentication.py +++ b/pyramid/tests/test_authentication.py @@ -1123,7 +1123,7 @@ class TestBasicAuthAuthenticationPolicy(unittest.TestCase): import base64 request = testing.DummyRequest() request.headers['Authorization'] = 'Basic %s' % base64.b64encode( - 'chrisr:password') + bytes_('chrisr:password')).decode('ascii') policy = self._makeOne(None) self.assertEqual(policy.unauthenticated_userid(request), 'chrisr') @@ -1154,7 +1154,7 @@ class TestBasicAuthAuthenticationPolicy(unittest.TestCase): import base64 request = testing.DummyRequest() request.headers['Authorization'] = 'Basic %s' % base64.b64encode( - 'chrisr:password') + bytes_('chrisr:password')).decode('ascii') def check(username, password, request): return [] policy = self._makeOne(check) @@ -1164,7 +1164,7 @@ class TestBasicAuthAuthenticationPolicy(unittest.TestCase): import base64 request = testing.DummyRequest() request.headers['Authorization'] = 'Basic %s' % base64.b64encode( - 'chrisrpassword') + bytes_('chrisrpassword')).decode('ascii') policy = self._makeOne(None) self.assertEqual(policy.unauthenticated_userid(request), None) -- cgit v1.2.3