mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-23 11:09:23 +01:00
Added a field command.
This commit is contained in:
parent
975f69894b
commit
e908b14c64
@ -159,6 +159,38 @@ class Format(callbacks.Privmsg):
|
|||||||
(first, second) = privmsgs.getArgs(args, required=2)
|
(first, second) = privmsgs.getArgs(args, required=2)
|
||||||
irc.reply(first+second)
|
irc.reply(first+second)
|
||||||
|
|
||||||
|
def cut(self, irc, msg, args):
|
||||||
|
"""<size> <text>
|
||||||
|
|
||||||
|
Cuts <text> down to <size> by chopping off the rightmost characters in
|
||||||
|
excess of <size>. If <size> is a negative number, it chops that many
|
||||||
|
characters off the end of <text>.
|
||||||
|
"""
|
||||||
|
(size, text) = privmsgs.getArgs(args, required=2)
|
||||||
|
try:
|
||||||
|
size = int(size)
|
||||||
|
except ValueError:
|
||||||
|
irc.error('%r is not a valid integer.' % size)
|
||||||
|
irc.reply(text[:size])
|
||||||
|
|
||||||
|
def field(self, irc, msg, args):
|
||||||
|
"""<number> <text>
|
||||||
|
|
||||||
|
Returns the <number>th space-separated field of <text>. I.e., if text
|
||||||
|
is "foo bar baz" and <number> is 2, "bar" is returned.
|
||||||
|
"""
|
||||||
|
(number, text) = privmsgs.getArgs(args, required=2)
|
||||||
|
try:
|
||||||
|
index = int(number)
|
||||||
|
if index > 0:
|
||||||
|
index -= 1
|
||||||
|
except ValueError:
|
||||||
|
irc.error('%r is not a valid integer.' % number)
|
||||||
|
try:
|
||||||
|
irc.reply(text.split()[index])
|
||||||
|
except IndexError:
|
||||||
|
irc.error('That\'s not a valid field.')
|
||||||
|
|
||||||
def format(self, irc, msg, args):
|
def format(self, irc, msg, args):
|
||||||
"""<format string> [<arg> ...]
|
"""<format string> [<arg> ...]
|
||||||
|
|
||||||
|
@ -70,4 +70,13 @@ class UtilitiesTestCase(PluginTestCase):
|
|||||||
def testConcat(self):
|
def testConcat(self):
|
||||||
self.assertResponse('concat foo bar baz', 'foobar baz')
|
self.assertResponse('concat foo bar baz', 'foobar baz')
|
||||||
|
|
||||||
|
def testCut(self):
|
||||||
|
self.assertResponse('cut 5 abcdefgh', 'abcde')
|
||||||
|
self.assertResponse('cut 5 abcd', 'abcd')
|
||||||
|
self.assertResponse('cut -1 abcde', 'abcd')
|
||||||
|
|
||||||
|
def testField(self):
|
||||||
|
self.assertResponse('field 2 foo bar baz', 'bar')
|
||||||
|
self.assertResponse('field -1 foo bar baz', 'baz')
|
||||||
|
|
||||||
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
||||||
|
Loading…
Reference in New Issue
Block a user