URI: 
       Add flipping service to annna. - 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
       ---
   DIR commit 401434bbb4ce0b5cee4c9f6de913c9ba1f729005
   DIR parent e3fce34e15750097f2bff69afb5ac5c7512f0c55
  HTML Author: Annna Robert-Houdin <annna@bitreich.org>
       Date:   Sun, 29 Nov 2020 15:28:42 +0100
       
       Add flipping service to annna.
       
       Diffstat:
         M annna-start-services                |       5 +++++
         A updown                              |      88 +++++++++++++++++++++++++++++++
       
       2 files changed, 93 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/annna-start-services b/annna-start-services
       @@ -351,6 +351,11 @@ annna_common() {
                        word="$(printf "%s\n" "${text}" | cut -c 21-)"
                        annna-say -c "${channel}" "${word}, pew pew."
                        ;;
       +        "${botname}, please flip "*)
       +                word="$(printf "%s\n" "${text}" | cut -c 20-)"
       +                updownword="$(updown "${word}")"
       +                annna-say -c "${channel}" "${word} -> ${updownword}"
       +                ;;
                "${botname}, please give me a good band name.")
                        bandname="$(bandname-gen | shuf | head -n 1)"
                        annna-say -c "${channel}" "${bandname}"
   DIR diff --git a/updown b/updown
       @@ -0,0 +1,88 @@
       +#!/usr/bin/env python2
       +# coding=utf-8
       +#
       +# Original credits to: http://www.weechat.org/scripts/source/stable/upside_down.py/
       +#
       +# Copy me if you can.
       +# by 20h
       +#
       +
       +import sys
       +import re
       +
       +replacements = {
       +    u'A' : u'\N{FOR ALL}',
       +    u'B' : u'\N{GREEK SMALL LETTER XI}',
       +    u'C' : u'\N{ROMAN NUMERAL REVERSED ONE HUNDRED}',
       +    u'D' : u'\N{LEFT HALF BLACK CIRCLE}',
       +    u'E' : u'\N{LATIN CAPITAL LETTER REVERSED E}',
       +    u'F' : u'\N{TURNED CAPITAL F}',
       +    u'G' : u'\N{TURNED SANS-SERIF CAPITAL G}',
       +    u'J' : u'\N{LATIN SMALL LETTER LONG S}',
       +    u'K' : u'\N{RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT}',
       +    u'L' : u'\ua780',
       +    u'M' : u'W',
       +    u'N' : u'\N{LATIN LETTER SMALL CAPITAL REVERSED N}',
       +    u'P' : u'\N{CYRILLIC CAPITAL LETTER KOMI DE}',
       +    u'Q' : u'\N{GREEK CAPITAL LETTER OMICRON WITH TONOS}',
       +    u'R' : u'\N{LATIN LETTER SMALL CAPITAL TURNED R}',
       +    u'T' : u'\N{UP TACK}',
       +    u'U' : u'\N{INTERSECTION}',
       +    u'V' : u'\u0245',
       +    u'Y' : u'\N{TURNED SANS-SERIF CAPITAL Y}',
       +     'a' : u"\u0250",
       +     'b' : u'q',
       +     'c' : u"\u0254",
       +     'd' : u'p',
       +     'e' : u"\u01DD",
       +     'f' : u"\u025F",
       +     'g' : u"\u0183",
       +     'h' : u'\u0265',
       +     'i' : u'\u0131',
       +     'j' : u'\u027E',
       +     'k' : u'\u029E',
       +     'm' : u'\u026F',
       +     'n' : u'u',
       +     'r' : u'\u0279',
       +     't' : u'\u0287',
       +     'p' : u'd',
       +     'u' : u'n',
       +     'q' : u'b',
       +     'v' : u'\u028C',
       +     'w' : u'\u028D',
       +     'y' : u'\u028E',
       +     '.' : u'\u02D9',
       +     '[' : u']',
       +     '(' : u')',
       +     '{' : u'}',
       +     '?' : u'\u00BF',
       +     '!' : u'\u00A1',
       +     "\'" :u',',
       +     '>' : u'<',
       +     '<' : u'>',
       +     '_' : u'\u203E',
       +     ';' : u'\u061B',
       +     '\u203F' : u'\u2040',
       +     '\u2045' : u'\u2046',
       +     '\u2234' : u'\u2235',
       +}
       +
       +def main(args):
       +        if len(args) < 2:
       +                sys.stderr.write("usage: %s text\n" % (args[0]))
       +        
       +        ostr = " ".join(args[1:])
       +        istr = ""
       +        for i in ostr:
       +                try:
       +                        istr += replacements[i]
       +                except:
       +                        istr += i
       +
       +        istr = istr.encode("utf-8")
       +        print istr
       +
       +
       +if __name__ == "__main__":
       +        sys.exit(main(sys.argv))
       +