URI: 
       updown - annna - Annna the nice friendly bot.
  HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
       updown (1934B)
       ---
            1 #!/usr/bin/env python2
            2 # coding=utf-8
            3 #
            4 # Original credits to: http://www.weechat.org/scripts/source/stable/upside_down.py/
            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