Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 154fbc30e9)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 45abdc8248)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Define utils.python.glob2re based on the Python version being used.
Use glob2re in Todo and Note plugins.
Closes: Sf#3059292
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit b0575cec88)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3057517
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit fc2a84fb90)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3058142
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c0e24cef30)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
The regular expressions were woefully out of date and since there's not a
stable API (or any for that matter), keeping things working is a losing
battle.
Closes: Sf#3057485
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c9274606ce)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3057255
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 7cf61ad046)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055991
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 8cc6320768)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3056753
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 452c019b10)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3056621
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit bc98577fb1)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 577294f489)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055358
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit de726f90f3)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055365
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit f977a3a260)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055353
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 07da8cab13)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3054919
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 25b987cc58)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
The list of tasks scheduled with the Scheduler plugin is now saved
on exit, and restored upon restart.
Previously all scheduled tasks would be forgotten upon bot restart,
which was undesirable behavior.
This is the only way to limit the execution time of a possibly long-running python statement.
Use this on String.re, due to the possibility of pathologically long re matching in python.
This allows us to remove the 'trusted-only' restriction on string.re.
In the future, this should probably be used in other places that take user-supplied regexps,
such as 'misc last --regexp', for example, as well as other potentially long-running tasks
that can block the bot.
Fixed bug in 100% packet loss response.
Errors from ping are now sent to irc.error().
Added packet count, interval, ttl, and wait options.
Added additional test cases.
Also, Enabled threading for Unix plugin, and
for wtf, spell, and ping commands.
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 3090cffe2c)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
When configured, the outFilter and shrinkSnarfer use cycle through
serviceRotation's list of services. Otherwise, the default service is used.
Closes: deb#539858
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 0bfa0d153c)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit acffde68ab)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 0c62204809)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c10d964604)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3019174
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit d78f7b6ac5)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit f926804f40)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Notify the user when trying to use the commands on a disabled network, ignore
noJoinsUntilIdentified, and don't try communicating with services.
Closes: Sf#3018464
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 9e73f4482c)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#2991515
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 57e894de58)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
two commits ago, in commit 51cabeea33
it is necessary for the operation of the plugin
(specifically, in the _checkManageCapabilities function)
the tests didn't catch that because it apparently imports re separately.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 18ef6dadfc)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Topics now persist between restarts.
Rationale: Useful when reloading/restarting; previously the topics would
be just forgotten. Don't use database, as that would be an unnecessary
overkill and in any case not needed.
(Also, remove the unused `re' module import.)
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 6520d1f282)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 41fd218b8d)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
This should prevent the accumulation of old unclaimed notes in the database,
which is possible due to notes left to misspelled nicks, to temporary nicks
used by regulars, or to one-time visitor nicks.
This allows inclusion of the usual standardSubstitute vars within factoids.
There is no config to disable this, since it is possible to escape the substitutions
by simply doubling the dollar signs, as per the python documentation:
http://docs.python.org/library/string.html#template-strings
Thus, if you want a factoid to output a literal "$channel", for example, all
you'd need to do is use "$$channel" in your factoid text, which will come out
as "$channel" when said by the bot.
Also added tests for this new behavior.
First: if an rss feed is called without the number of headlines argument,
we now have a default number of items it will output.
before, it tried to stuff the whole rss feed into the channel, which is quite
floody, if more than one 'mores' is set, or if oneToOne is false.
Second: when adding a new feed to announce, it again, tried to stuff the
whole rss feed into the channel, which ran into the same floody conditions
as above. now we have a default number of feeds to output when there's no
cached history.
This involved also updating src/conf.py to look for sqlite3 and add it to supybot.conf.databases list,
since karma uses the plugins.DB() constructor for its database, which checks the available databases list.
default required capabilities for topic changes (if topic is +t and user is not an op or halfop), are chan,op and chan,halfop
thanks jemfinch for the suggestions.