From 6919cb8daf7c7f7291b8aa10a28334c1a61848e9 Mon Sep 17 00:00:00 2001
From: Tres Seaver <tseaver@palladion.com>
Date: Sun, 18 Mar 2012 18:28:07 +0100
Subject: [PATCH] Get modules importing, tests running (but failing) under Python 3.2.x.

---
 repoze/who/plugins/auth_tkt.py |   32 +++++++++++++++++++-------------
 1 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/repoze/who/plugins/auth_tkt.py b/repoze/who/plugins/auth_tkt.py
index 3368f61..1dd9a13 100644
--- a/repoze/who/plugins/auth_tkt.py
+++ b/repoze/who/plugins/auth_tkt.py
@@ -4,13 +4,12 @@
 import os
 import time
 
-from repoze.who._compat import get_cookies
-import repoze.who._auth_tkt as auth_tkt
-
 from zope.interface import implements
 
 from repoze.who.interfaces import IIdentifier
 from repoze.who.interfaces import IAuthenticator
+from repoze.who._compat import get_cookies
+import repoze.who._auth_tkt as auth_tkt
 
 _NOW_TESTING = None  # unit tests can replace
 def _now():  #pragma NO COVERAGE
@@ -22,17 +21,24 @@
 
     implements(IIdentifier, IAuthenticator)
 
-    userid_type_decoders = {
-        'int':int,
-        'unicode':lambda x: utf_8_decode(x)[0],
-        }
+    userid_type_decoders = {'int':int}
+    try:
+        userid_type_decoders[unicode] = ('unicode',
+                                         lambda x: utf_8_decode(x)[0])
+    except NameError: #pragma NO COVER Python >= 3.0
+        pass
 
-    userid_type_encoders = {
-        int: ('int', str),
-        long: ('int', str),
-        unicode: ('unicode', lambda x: utf_8_encode(x)[0]),
-        }
-    
+    userid_type_encoders = {int: ('int', str)}
+    try:
+        userid_type_encoders[long] = ('int', str)
+    except NameError: #pragma NO COVER Python >= 3.0
+        pass
+    try:
+        userid_type_encoders[unicode] = ('unicode',
+                                         lambda x: utf_8_encode(x)[0])
+    except NameError: #pragma NO COVER Python >= 3.0
+        pass
+ 
     def __init__(self, secret, cookie_name='auth_tkt',
                  secure=False, include_ip=False,
                  timeout=None, reissue_time=None, userid_checker=None):

--
Gitblit v1.9.3