X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=rainbowstream%2Fpy3patch.py;h=660bd0bd29653784b6b49cd4bb31202b18e60e71;hb=f146feea63ab4fdaba054a9ee4da13fff052bfe0;hp=604298411069fd7f6c0a678f09928c24c38ba004;hpb=b2cde062c247a38dd71ae3cc732ad8acef2444b5;p=rainbowstream.git diff --git a/rainbowstream/py3patch.py b/rainbowstream/py3patch.py index 6042984..660bd0b 100644 --- a/rainbowstream/py3patch.py +++ b/rainbowstream/py3patch.py @@ -10,15 +10,22 @@ except: from io import StringIO, BytesIO # HTMLParser module - -try: +if sys.version[0] == "2": from HTMLParser import HTMLParser -except: +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) + unc = lambda x: x.decode('utf-8') +else: + xrange = range raw_input = input lmap = lambda f, a: list(map(f, a)) -else: - lmap = lambda f, a: map(f, a) + unc = lambda x: x