X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/8ad2cf0b788b55d489a1a445773eca8c5714676b..8ac8f6bb94866160116f5419ba8899ff787e877c:/twitter/util.py diff --git a/twitter/util.py b/twitter/util.py index 70ff7a5..271a014 100644 --- a/twitter/util.py +++ b/twitter/util.py @@ -7,11 +7,38 @@ Internal utility functions. import re -from htmlentitydefs 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: unichr(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"]