X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=rainbowstream%2Fpy3patch.py;h=7e71e2a04fa897f282e4e53bf0a0a0c0c42d3c89;hb=5caaaccb2d980189b0e1362fc66d44b9cc2932a1;hp=adfbff281ebe64f1bb52b1b6fa7aa792cfddba48;hpb=3f6bfc205123dfb813405ef72ff38d9f67590565;p=rainbowstream.git diff --git a/rainbowstream/py3patch.py b/rainbowstream/py3patch.py index adfbff2..7e71e2a 100644 --- a/rainbowstream/py3patch.py +++ b/rainbowstream/py3patch.py @@ -1,28 +1,28 @@ -""" - Python 3 supports -""" import sys -# StringIO module -try: - from StringIO import StringIO, BytesIO -except: - from io import StringIO, BytesIO - -# HTMLParser module +# Library compatibility if sys.version[0] == "2": from HTMLParser import HTMLParser + from urllib2 import URLError else: from html.parser import HTMLParser + from urllib.error import URLError + unescape = HTMLParser().unescape # According to https://github.com/python/cpython/blob/master/Lib/html/parser.py#L547 , # in python 3.5 maybe I should use # from html import unescape # but it is a far-future story:) -# raw_input and map function behaviour + +# Function compatibility +# xrange, raw_input, map ,unicde if sys.version[0] == "2": lmap = lambda f, a: map(f, a) + str2u = lambda x: x.decode('utf-8') + u2str = lambda x: x.encode('utf-8') else: + xrange = range raw_input = input lmap = lambda f, a: list(map(f, a)) + str2u = u2str = lambda x: x