mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-03 16:39:25 +01:00
String: make re timeout configurable.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
This commit is contained in:
parent
9fc7ec28b4
commit
34e5aedc45
@ -50,5 +50,12 @@ conf.registerGlobalValue(String.levenshtein, 'max',
|
||||
and more time. Using nested commands, strings can get quite large, hence
|
||||
this variable, to limit the size of arguments passed to the levenshtein
|
||||
command."""))
|
||||
conf.registerGroup(String, 're')
|
||||
conf.registerGlobalValue(String.re, 'timeout',
|
||||
registry.PositiveFloat(5, """Determines the maximum time, in seconds, that
|
||||
a regular expression is given to execute before being terminated. Since
|
||||
there is a possibility that user input for the re command can cause it to
|
||||
eat up large amounts of ram or cpu time, it's a good idea to keep this
|
||||
low. Most normal regexps should not take very long at all."""))
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||
|
@ -141,7 +141,8 @@ class String(callbacks.Plugin):
|
||||
s = 'You probably don\'t want to match the empty string.'
|
||||
irc.error(s)
|
||||
else:
|
||||
v = commands.process(f, text, timeout=10, pn=self.name(), cn='re')
|
||||
t = self.registryValue('re.timeout')
|
||||
v = commands.process(f, text, timeout=t, pn=self.name(), cn='re')
|
||||
irc.reply(v)
|
||||
re = thread(wrap(re, [first('regexpMatcher', 'regexpReplacer'),
|
||||
'text']))
|
||||
|
Loading…
Reference in New Issue
Block a user