mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-02-18 22:51:01 +01:00
Added less command.
This commit is contained in:
parent
c662da1621
commit
e01d52b2f2
@ -53,6 +53,7 @@ import string
|
|||||||
import random
|
import random
|
||||||
import urllib
|
import urllib
|
||||||
import inspect
|
import inspect
|
||||||
|
import textwrap
|
||||||
import telnetlib
|
import telnetlib
|
||||||
import threading
|
import threading
|
||||||
import mimetypes
|
import mimetypes
|
||||||
@ -659,7 +660,7 @@ class FunCommands(callbacks.Privmsg):
|
|||||||
elif option == 'regexp':
|
elif option == 'regexp':
|
||||||
try:
|
try:
|
||||||
r = utils.perlReToPythonRe(arg)
|
r = utils.perlReToPythonRe(arg)
|
||||||
except ValueError:
|
except ValueError, e:
|
||||||
irc.error(msg, str(e))
|
irc.error(msg, str(e))
|
||||||
return
|
return
|
||||||
predicates.append(lambda m: r.search(m.args[1]))
|
predicates.append(lambda m: r.search(m.args[1]))
|
||||||
@ -790,6 +791,28 @@ class FunCommands(callbacks.Privmsg):
|
|||||||
"""
|
"""
|
||||||
irc.reply(msg, random.sample(self._these, 1)[0])
|
irc.reply(msg, random.sample(self._these, 1)[0])
|
||||||
|
|
||||||
|
_lesses = {}
|
||||||
|
def less(self, irc, msg, args):
|
||||||
|
"""<text>
|
||||||
|
|
||||||
|
Deals out <text> in small, IrcMsg-sized pieces. Mostly useful for
|
||||||
|
piecing-out nested commands.
|
||||||
|
"""
|
||||||
|
text = privmsgs.getArgs(args, needed=0, optional=1)
|
||||||
|
userHostmask = msg.prefix.split('!', 1)[1]
|
||||||
|
if text:
|
||||||
|
lines = textwrap.wrap(text, 400)
|
||||||
|
lines.reverse()
|
||||||
|
s = lines.pop()
|
||||||
|
self._lesses[userHostmask] = lines
|
||||||
|
irc.reply(msg, s)
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
s = self._lesses[userHostmask].pop()
|
||||||
|
irc.reply(msg, s)
|
||||||
|
except (KeyError, IndexError): # Nothing in the list or dict.
|
||||||
|
irc.error(msg, 'I have no less history for you.')
|
||||||
|
|
||||||
def dns(self, irc, msg, args):
|
def dns(self, irc, msg, args):
|
||||||
"""<host|ip>
|
"""<host|ip>
|
||||||
|
|
||||||
|
@ -110,6 +110,15 @@ class FunCommandsTest(PluginTestCase, PluginDocumentation):
|
|||||||
self.assertResponse('rpn 1 dup', 'Stack: [1, 1]')
|
self.assertResponse('rpn 1 dup', 'Stack: [1, 1]')
|
||||||
self.assertResponse('rpn 2 3 4 + -', str(2-7))
|
self.assertResponse('rpn 2 3 4 + -', str(2-7))
|
||||||
|
|
||||||
|
def testLess(self):
|
||||||
|
s390 = ' '.join(['123456789']*39)
|
||||||
|
s790 = ' '.join(['123456789']*79)
|
||||||
|
self.assertNotError('less %s' % s390)
|
||||||
|
self.assertError('less')
|
||||||
|
self.assertNotError('less %s' % s790)
|
||||||
|
self.assertNotError('less')
|
||||||
|
self.assertError('less')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user