From 3f6bfc205123dfb813405ef72ff38d9f67590565 Mon Sep 17 00:00:00 2001 From: Orakaro Date: Sat, 26 Jul 2014 12:25:18 +0900 Subject: [PATCH] fix serious bug in import HTMLParser in Python > 3.4 --- rainbowstream/py3patch.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/rainbowstream/py3patch.py b/rainbowstream/py3patch.py index 0dd6be5..adfbff2 100644 --- a/rainbowstream/py3patch.py +++ b/rainbowstream/py3patch.py @@ -10,15 +10,19 @@ 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 function behaviour -if sys.version[0] == "3": +if sys.version[0] == "2": + lmap = lambda f, a: map(f, a) +else: raw_input = input lmap = lambda f, a: list(map(f, a)) -else: - lmap = lambda f, a: map(f, a) -- 2.25.1