21 Commits

Author SHA1 Message Date
Valentin Lorentz
ede85ca8b0 SedRegex: spawn a single process to handle the whole history.
This is more efficient than spawning up to 1000 processes (assuming
Limnoria's default config).
2019-10-26 01:28:27 +02:00
James Lu
e5af479939 SedRegex: abort when a search times out
This requires commit b54d8f8073, which separates the timeout and no match cases.

Also, raise the default processTimeout as the plugin now aborts on the first message that times out.
2019-10-17 22:15:28 -07:00
James Lu
2ae51939b3 Update my email & repo link references 2019-10-11 09:58:50 -07:00
James Lu
e19abe0498 SedRegex: match channel names case insensitively
Some IRCds (Unreal 3.2) don't mangle target names for case correctness, leading to a bug where users end up ignored by the plugin.

Reported by DOMF via IRC.
2019-06-05 15:02:59 -07:00
James Lu
fdab0edbc8 SedRegex: log all errors, always display the not found mesage 2019-06-05 14:41:05 -07:00
James Lu
4e08442cde SedRegex: reuse processTimeout in the sub() process too 2018-12-12 18:56:26 -08:00
James Lu
51ff41251b SedRegex: make the regexp process timeout configurable
Although the default has been adequate on my systems, busy or low-powered machines may fail to process regexps quickly enough and cause SedRegex to sporadically error.

Reported by @cottongin via IRC.
2017-12-08 12:33:17 -08:00
James Lu
c9bcbbb934 SedRegex: remove compatibility workaround for Python 2.7.6 and lower 2017-09-01 18:19:19 -07:00
James Lu
0ef8138ab3 SedRegex: bump copyright year to 2017 2017-01-16 21:15:58 -08:00
James Lu
926454b01d SedRegex: fix some replacement queries not working 2017-01-04 20:36:45 -08:00
James Lu
e137d29eb9 SedRegex: also catch errors in the regexp_wrapper() step
E.g. sre_constants.error: invalid group reference
2016-12-26 08:05:06 -08:00
James Lu
406d7b1790 SedRegex: log the exact error name instead of "SedRegex error" 2016-12-26 08:04:20 -08:00
James Lu
414a4a4a16 SedRegex: require ending delimiter to prevent overzealous matching of replacement text
Closes #59.
2016-12-22 12:12:21 -08:00
James Lu
244a8c6bee SedRegex: work around "nothing to replace" errors on < Python 2.7.6 again 2016-12-22 12:05:00 -08:00
James Lu
db125ee5d1 SedRegex: fix flag matching 2016-12-17 21:12:36 -08:00
James Lu
87c79db3d0 SedRegex: implement 's' regex flag to only match the caller's message 2016-12-17 20:49:16 -08:00
James Lu
423da9f996 SedRegex: allow free form flags and return them in _unpack_sed() 2016-12-17 20:49:16 -08:00
James Lu
48445e256a SedRegex: sanitize against \n\r\t in output 2016-09-10 17:29:47 -07:00
James Lu
84b94d589c SedRegex: only operate on messages from the current network
Reported by @jztech101.

The 'receivedBy' tag is now checked to match the current IRC object, which Works around ProgVal/Limnoria#1211.
2016-07-20 12:48:15 -07:00
James Lu
335fc6e3da SedRegex: work around "nothing to repeat" errors on Python < 2.7.6
Source: https://stackoverflow.com/questions/3675144/regex-error-nothing-to-repeat and https://bugs.python.org/issue18647
2016-07-15 23:44:25 -07:00
James Lu
2a556a1b84 Rename Replacer->SedRegex (Closes #51) 2016-05-06 21:19:28 -07:00