import re
-from htmlentitydefs import name2codepoint
+try:
+ from html.entities import name2codepoint
+except ImportError:
+ from htmlentitydefs import name2codepoint
def htmlentitydecode(s):
return re.sub(
- '&(%s);' % '|'.join(name2codepoint),
- lambda m: unichr(name2codepoint[m.group(1)]), s)
+ '&(%s);' % '|'.join(name2codepoint),
+ lambda m: chr(name2codepoint[m.group(1)]), s)
-__all__ = ["htmlentitydecode"]
+def smrt_input(globals_, locals_, ps1=">>> ", ps2="... "):
+ inputs = []
+ while True:
+ if inputs:
+ prompt = ps2
+ else:
+ prompt = ps1
+ inputs.append(input(prompt))
+ try:
+ ret = eval('\n'.join(inputs), globals_, locals_)
+ if ret:
+ print(ret)
+ return
+ except SyntaxError:
+ pass
+
+__all__ = ["htmlentitydecode", "smrt_input"]