]>
Commit | Line | Data |
---|---|---|
1 | """ | |
2 | Internal utility functions. | |
3 | ||
4 | `htmlentitydecode` came from here: | |
5 | http://wiki.python.org/moin/EscapingHtml | |
6 | """ | |
7 | ||
8 | ||
9 | import re | |
10 | from htmlentitydefs import name2codepoint | |
11 | ||
12 | def htmlentitydecode(s): | |
13 | return re.sub( | |
14 | '&(%s);' % '|'.join(name2codepoint), | |
15 | lambda m: unichr(name2codepoint[m.group(1)]), s) | |
16 | ||
17 | def smrt_input(globals_, locals_, ps1=">>> ", ps2="... "): | |
18 | inputs = [] | |
19 | while True: | |
20 | if inputs: | |
21 | prompt = ps2 | |
22 | else: | |
23 | prompt = ps1 | |
24 | inputs.append(raw_input(prompt)) | |
25 | try: | |
26 | ret = eval('\n'.join(inputs), globals_, locals_) | |
27 | if ret: | |
28 | print ret | |
29 | return | |
30 | except SyntaxError: | |
31 | pass | |
32 | ||
33 | __all__ = ["htmlentitydecode", "smrt_input"] |