--- ../feedparser/feedparsertest.py (original) +++ ../feedparser/feedparsertest.py (refactored) @@ -67,7 +67,7 @@ headers.setdefault('Content-type', self.guess_type(path)) self.send_header("Content-type", headers['Content-type']) self.send_header("Content-Length", str(os.fstat(f.fileno())[6])) - for k, v in headers.items(): + for k, v in list(headers.items()): if k not in ('Status', 'Content-type'): self.send_header(k, v) self.end_headers() @@ -103,7 +103,7 @@ except: pass if not eval(evalString, env): - raise self.failureException, failure + raise self.failureException(failure) #---------- parse test files and create test methods ---------- @@ -126,24 +126,24 @@ data = feedparser._ebcdic_to_ascii(data) elif data[:4] == '\x00\x00\xfe\xff': if not _utf32_available: return None, None, None, '0' - data = unicode(data, 'utf-32be').encode('utf-8') + data = str(data, 'utf-32be').encode('utf-8') elif data[:4] == '\xff\xfe\x00\x00': if not _utf32_available: return None, None, None, '0' - data = unicode(data, 'utf-32le').encode('utf-8') + data = str(data, 'utf-32le').encode('utf-8') elif data[:4] == '\x00\x00\x00\x3c': if not _utf32_available: return None, None, None, '0' - data = unicode(data, 'utf-32be').encode('utf-8') + data = str(data, 'utf-32be').encode('utf-8') elif data[:4] == '\x3c\x00\x00\x00': if not _utf32_available: return None, None, None, '0' - data = unicode(data, 'utf-32le').encode('utf-8') + data = str(data, 'utf-32le').encode('utf-8') elif data[:4] == '\x00\x3c\x00\x3f': - data = unicode(data, 'utf-16be').encode('utf-8') + data = str(data, 'utf-16be').encode('utf-8') elif data[:4] == '\x3c\x00\x3f\x00': - data = unicode(data, 'utf-16le').encode('utf-8') + data = str(data, 'utf-16le').encode('utf-8') elif (data[:2] == '\xfe\xff') and (data[2:4] != '\x00\x00'): - data = unicode(data[2:], 'utf-16be').encode('utf-8') + data = str(data[2:], 'utf-16be').encode('utf-8') elif (data[:2] == '\xff\xfe') and (data[2:4] != '\x00\x00'): - data = unicode(data[2:], 'utf-16le').encode('utf-8') + data = str(data[2:], 'utf-16le').encode('utf-8') elif data[:3] == '\xef\xbb\xbf': data = data[3:] skip_results = skip_re.search(data) @@ -153,8 +153,8 @@ skipUnless = '1' search_results = desc_re.search(data) if not search_results: - raise RuntimeError, "can't parse %s" % xmlfile - description, evalString = map(string.strip, list(search_results.groups())) + raise RuntimeError("can't parse %s" % xmlfile) + description, evalString = list(map(string.strip, list(search_results.groups()))) description = xmlfile + ": " + description return TestCase.failUnlessEval, description, evalString, skipUnless @@ -167,7 +167,7 @@ if __name__ == "__main__": if sys.argv[1:]: import operator - allfiles = filter(lambda s: s.endswith('.xml'), reduce(operator.add, map(glob.glob, sys.argv[1:]), [])) + allfiles = [s for s in reduce(operator.add, list(map(glob.glob, sys.argv[1:])), []) if s.endswith('.xml')] sys.argv = [sys.argv[0]] #+ sys.argv[2:] else: allfiles = glob.glob(os.path.join('.', 'tests', '**', '**', '*.xml'))