current_buffer in unicode wrapper
[rainbowstream.git] / rainbowstream / py3patch.py
index 543b9a1462a27ef2fb5cb7100058159654b32ea4..153d10df737957063078e125dcb3777e7d46d9b6 100644 (file)
@@ -9,11 +9,22 @@ try:
 except:
     from io import StringIO, BytesIO
 
-# raw_input and map functiion behaviour
-if sys.version[0]=="3": 
-    raw_input = input
-    lmap = lambda f,a: list(map(f,a))
+# HTMLParser module
+if sys.version[0] == "2":
+    from HTMLParser import HTMLParser
 else:
-    lmap = lambda f,a: map(f,a)
-
+    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] == "2":
+    lmap = lambda f, a: map(f, a)
+    unc = lambda x: x.decode('utf-8')
+else:
+    raw_input = input
+    lmap = lambda f, a: list(map(f, a))
+    unc = lambda x: x