Tres Seaver
2012-03-18 9df42fdd363d6bd8d20ed132b299f27d0d08ebc2
Replace 'basestring' checks with Py3k compat checks.
4 files modified
17 ■■■■ changed files
repoze/who/_auth_tkt.py 3 ●●●● patch | view | raw | blame | history
repoze/who/_compat.py 5 ●●●●● patch | view | raw | blame | history
repoze/who/plugins/auth_tkt.py 5 ●●●●● patch | view | raw | blame | history
repoze/who/restrict.py 4 ●●● patch | view | raw | blame | history
repoze/who/_auth_tkt.py
@@ -58,6 +58,7 @@
    STRING_TYPES = (str,)
from repoze.who._compat import get_cookies
from repoze.who._compat import STRING_TYPES
class AuthTicket(object):
@@ -331,7 +332,7 @@
        return self.app(environ, cookie_setting_start_response)
    def set_user_cookie(self, environ, userid, tokens, user_data):
        if not isinstance(tokens, basestring):
        if not isinstance(tokens, STRING_TYPES):
            tokens = ','.join(tokens)
        if self.include_ip:
            remote_addr = environ['REMOTE_ADDR']
repoze/who/_compat.py
@@ -7,6 +7,11 @@
    from http.cookies import SimpleCookie
    from http.cookies import CookieError
try:
    STRING_TYPES = (str, unicode)
except NameError:
    STRING_TYPES = (str,)
def REQUEST_METHOD(environ):
    return environ['REQUEST_METHOD']
repoze/who/plugins/auth_tkt.py
@@ -10,6 +10,7 @@
from repoze.who.interfaces import IAuthenticator
from repoze.who._compat import get_cookies
import repoze.who._auth_tkt as auth_tkt
from repoze.who._compat import STRING_TYPES
_NOW_TESTING = None  # unit tests can replace
def _now():  #pragma NO COVERAGE
@@ -18,8 +19,8 @@
    return datetime.datetime.now()
class AuthTktCookiePlugin(object):
    implements(IIdentifier, IAuthenticator)
    userid_type_decoders = {'int':int}
    try:
@@ -196,7 +197,7 @@
                            id(self)) #pragma NO COVERAGE
def _bool(value):
    if isinstance(value, basestring):
    if isinstance(value, STRING_TYPES):
        return value.lower() in ('yes', 'true', '1')
    return value
repoze/who/restrict.py
@@ -1,6 +1,8 @@
# Authorization middleware
from pkg_resources import EntryPoint
from repoze.who._compat import STRING_TYPES
def authenticated_predicate():
    def _predicate(environ):
        return 'REMOTE_USER' in environ or 'repoze.who.identity' in environ
@@ -26,6 +28,6 @@
def make_predicate_restriction(app, global_config,
                               predicate, enabled=True, **kw):
    if isinstance(predicate, basestring):
    if isinstance(predicate, STRING_TYPES):
        predicate = EntryPoint.parse('x=%s' % predicate).load(False)
    return PredicateRestriction(app, predicate, enabled, **kw)