projects
/
rainbowstream.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use entities/urls in open command
[rainbowstream.git]
/
rainbowstream
/
py3patch.py
diff --git
a/rainbowstream/py3patch.py
b/rainbowstream/py3patch.py
index 604298411069fd7f6c0a678f09928c24c38ba004..7e71e2a04fa897f282e4e53bf0a0a0c0c42d3c89 100644
(file)
--- a/
rainbowstream/py3patch.py
+++ b/
rainbowstream/py3patch.py
@@
-1,24
+1,28
@@
-"""
- Python 3 supports
-"""
import sys
import sys
-# StringIO module
-try:
- from StringIO import StringIO, BytesIO
-except:
- from io import StringIO, BytesIO
-
-# HTMLParser module
-
-try:
+# Library compatibility
+if sys.version[0] == "2":
from HTMLParser import HTMLParser
from HTMLParser import HTMLParser
-except:
+ from urllib2 import URLError
+else:
from html.parser import HTMLParser
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 functiion behaviour
-if sys.version[0] == "3":
+# 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))
raw_input = input
lmap = lambda f, a: list(map(f, a))
-else:
- lmap = lambda f, a: map(f, a)
+ str2u = u2str = lambda x: x