X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/f7e6380227ca479157ce8d4e782772ca9b732b71..ea5231b2fe0f40d87c9c7991b949c39c7cddd7e3:/twitter/util.py?ds=sidebyside diff --git a/twitter/util.py b/twitter/util.py index 76283cd..b78a108 100644 --- a/twitter/util.py +++ b/twitter/util.py @@ -7,11 +7,38 @@ Internal utility functions. import re -from html.entities import name2codepoint +import sys +try: + from html.entities import name2codepoint +except ImportError: + from htmlentitydefs import name2codepoint def htmlentitydecode(s): return re.sub( - '&(%s);' % '|'.join(name2codepoint), + '&(%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(str(ret)) + return + except SyntaxError: + pass + +def printNicely(string): + if hasattr(sys.stdout, 'buffer'): + sys.stdout.buffer.write(string.encode('utf8')) + print() + else: + print(string.encode('utf8')) + +__all__ = ["htmlentitydecode", "smrt_input"]