Tres Seaver
2012-03-19 5bdad51fcea19e68e1657f652428485c9595e3a4
Deprecatino clean on Py3k.
3 files modified
38 ■■■■■ changed files
repoze/who/_compat.py 4 ●●●● patch | view | raw | blame | history
repoze/who/config.py 33 ●●●●● patch | view | raw | blame | history
repoze/who/tests/test_config.py 1 ●●●● patch | view | raw | blame | history
repoze/who/_compat.py
@@ -16,9 +16,9 @@
    decodebytes = base64.decodebytes
    encodebytes = base64.encodebytes
    def decodestring(value):
        return base64.decodestring(bytes(value, 'ascii')).decode('ascii')
        return base64.decodebytes(bytes(value, 'ascii')).decode('ascii')
    def encodestring(value):
        return base64.encodestring(bytes(value, 'ascii')).decode('ascii')
        return base64.encodebytes(bytes(value, 'ascii')).decode('ascii')
else: #pragma NO COVER Python < 3.0
    decodebytes = base64.decodestring
    encodebytes = base64.encodestring
repoze/who/config.py
@@ -72,7 +72,10 @@
        if getattr(text, 'readline', None) is None:
            text = StringIO(text)
        cp = ConfigParser(defaults={'here': self.here})
        cp.readfp(text)
        try:
            cp.read_file(text)
        except AttributeError: #pragma NO COVER Python < 3.0
            cp.readfp(text)
        for s_id in [x for x in cp.sections() if x.startswith('plugin:')]:
            plugin_id = s_id[len('plugin:'):]
@@ -156,17 +159,20 @@
                      stacklevel=2)
    else:
        try:
            parser.parse(opened)
        except ParsingError:
            warnings.warn('Invalid who config file: %s' % config_file,
                          stacklevel=2)
        else:
            identifiers = parser.identifiers
            authenticators = parser.authenticators
            challengers = parser.challengers
            mdproviders = parser.mdproviders
            request_classifier = parser.request_classifier
            challenge_decider = parser.challenge_decider
            try:
                parser.parse(opened)
            except ParsingError:
                warnings.warn('Invalid who config file: %s' % config_file,
                            stacklevel=2)
            else:
                identifiers = parser.identifiers
                authenticators = parser.authenticators
                challengers = parser.challengers
                mdproviders = parser.mdproviders
                request_classifier = parser.request_classifier
                challenge_decider = parser.challenge_decider
        finally:
            opened.close()
    return APIFactory(identifiers,
                      authenticators,
@@ -181,7 +187,8 @@
def make_middleware_with_config(app, global_conf, config_file,
                                log_file=None, log_level=None):
    parser = WhoConfig(global_conf['here'])
    parser.parse(open(config_file))
    with open(config_file) as f:
        parser.parse(f)
    log_stream = None
    if log_level is None:
repoze/who/tests/test_config.py
@@ -418,6 +418,7 @@
        self.failUnless(isinstance(handlers[0], logging.StreamHandler))
        self.assertEqual(handlers[0].stream.name, logfile)
        logging.shutdown()
        handlers[0].stream.close()
    def test_sample_config_wo_log_file(self):
        import logging