updown - annna - Annna the nice friendly bot. | |
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
--- | |
updown (1934B) | |
--- | |
1 #!/usr/bin/env python2 | |
2 # coding=utf-8 | |
3 # | |
4 # Original credits to: http://www.weechat.org/scripts/source/stable/upsi… | |
5 # | |
6 # Copy me if you can. | |
7 # by 20h | |
8 # | |
9 | |
10 import sys | |
11 import re | |
12 | |
13 replacements = { | |
14 u'A' : u'\N{FOR ALL}', | |
15 u'B' : u'\N{GREEK SMALL LETTER XI}', | |
16 u'C' : u'\N{ROMAN NUMERAL REVERSED ONE HUNDRED}', | |
17 u'D' : u'\N{LEFT HALF BLACK CIRCLE}', | |
18 u'E' : u'\N{LATIN CAPITAL LETTER REVERSED E}', | |
19 u'F' : u'\N{TURNED CAPITAL F}', | |
20 u'G' : u'\N{TURNED SANS-SERIF CAPITAL G}', | |
21 u'J' : u'\N{LATIN SMALL LETTER LONG S}', | |
22 u'K' : u'\N{RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT}', | |
23 u'L' : u'\ua780', | |
24 u'M' : u'W', | |
25 u'N' : u'\N{LATIN LETTER SMALL CAPITAL REVERSED N}', | |
26 u'P' : u'\N{CYRILLIC CAPITAL LETTER KOMI DE}', | |
27 u'Q' : u'\N{GREEK CAPITAL LETTER OMICRON WITH TONOS}', | |
28 u'R' : u'\N{LATIN LETTER SMALL CAPITAL TURNED R}', | |
29 u'T' : u'\N{UP TACK}', | |
30 u'U' : u'\N{INTERSECTION}', | |
31 u'V' : u'\u0245', | |
32 u'Y' : u'\N{TURNED SANS-SERIF CAPITAL Y}', | |
33 'a' : u"\u0250", | |
34 'b' : u'q', | |
35 'c' : u"\u0254", | |
36 'd' : u'p', | |
37 'e' : u"\u01DD", | |
38 'f' : u"\u025F", | |
39 'g' : u"\u0183", | |
40 'h' : u'\u0265', | |
41 'i' : u'\u0131', | |
42 'j' : u'\u027E', | |
43 'k' : u'\u029E', | |
44 'm' : u'\u026F', | |
45 'n' : u'u', | |
46 'r' : u'\u0279', | |
47 't' : u'\u0287', | |
48 'p' : u'd', | |
49 'u' : u'n', | |
50 'q' : u'b', | |
51 'v' : u'\u028C', | |
52 'w' : u'\u028D', | |
53 'y' : u'\u028E', | |
54 '.' : u'\u02D9', | |
55 '[' : u']', | |
56 '(' : u')', | |
57 '{' : u'}', | |
58 '?' : u'\u00BF', | |
59 '!' : u'\u00A1', | |
60 "\'" :u',', | |
61 '>' : u'<', | |
62 '<' : u'>', | |
63 '_' : u'\u203E', | |
64 ';' : u'\u061B', | |
65 '\u203F' : u'\u2040', | |
66 '\u2045' : u'\u2046', | |
67 '\u2234' : u'\u2235', | |
68 } | |
69 | |
70 def main(args): | |
71 if len(args) < 2: | |
72 sys.stderr.write("usage: %s text\n" % (args[0])) | |
73 | |
74 ostr = " ".join(args[1:]) | |
75 istr = "" | |
76 for i in ostr: | |
77 try: | |
78 istr += replacements[i] | |
79 except: | |
80 istr += i | |
81 | |
82 try: | |
83 istr = istr.encode("utf-8") | |
84 except UnicodeDecodeError: | |
85 istr = istr.decode("utf-8").encode("utf-8") | |
86 print(istr) | |
87 | |
88 | |
89 if __name__ == "__main__": | |
90 sys.exit(main(sys.argv)) | |
91 |