Changed morse/unmorse and related stuff to be (hopefully) clearer.

This commit is contained in:
Jeremy Fincher 2003-04-19 21:39:23 +00:00
parent 85331d2848
commit ab7fd51ddd
1 changed files with 47 additions and 46 deletions

View File

@ -52,6 +52,7 @@ Commands include:
from baseplugin import *
import re
import base64
import ircmsgs
@ -107,8 +108,9 @@ class Moobot(callbacks.Privmsg):
"9" : "----.",
}
_revcode = dict([(y.strip(), x) for (x, y) in _code.items()])
_revcode = dict([(y, x) for (x, y) in _code.items()])
_unmorsere = re.compile('([.-]+)')
def unmorse(self, irc, msg, args):
"""<morse code text>
@ -116,15 +118,14 @@ class Moobot(callbacks.Privmsg):
"""
text = privmsgs.getArgs(args)
L = []
for (first, second, third) in window(text.split(' ')+[''], 3):
if first == '' and second == '' and third == '':
L.append(' ')
else:
try:
L.append(self._revcode[first])
except KeyError:
L.append(first)
irc.reply(msg, ''.join(L))
def morseToLetter(m):
s = m.group(1)
return self._revcode.get(s, s)
text = self._unmorsere.sub(morseToLetter, text)
text = text.replace(' ', '\x00')
text = text.replace(' ', '')
text = text.replace('\x00', ' ')
irc.reply(msg, text)
def morse(self, irc, msg, args):
"""<text>