X-Git-Url: https://vcs.fsf.org/?p=rainbowstream.git;a=blobdiff_plain;f=rainbowstream%2Fpy3patch.py;h=b19bdca01fe4cdbf40b8c18ba3bb5918e2e04736;hp=6dc213fdf084d92ca029c14b0ac487f7ecfb9c7f;hb=77871b5b7ec1e7621ad4e1d77798fafba7163c7d;hpb=a8c5fce4b567697790144ec15546ce68e5469963 diff --git a/rainbowstream/py3patch.py b/rainbowstream/py3patch.py index 6dc213f..b19bdca 100644 --- a/rainbowstream/py3patch.py +++ b/rainbowstream/py3patch.py @@ -10,15 +10,23 @@ except: from io import StringIO, BytesIO # HTMLParser module -try: +if sys.version[0] == "2": from HTMLParser import HTMLParser - unescape = HTMLParser().unescape -except: - from html import unescape +else: + from html.parser import HTMLParser +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 functiion behaviour -if sys.version[0] == "3": +# raw_input and map function behaviour +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)) -else: - lmap = lambda f, a: map(f, a) + str2u = u2str = lambda x: x