50 Commits

Author SHA1 Message Date
James Lu
38e31daf3e SedRegex: remove; this plugin is now bundled with Limnoria 2020-04-10 17:27:44 -07:00
James Lu
af8384ba4f SedRegex: skip testReDoSTimeout if multiprocessing is disabled
From: d3b991895c
2020-03-22 21:16:07 -07:00
James Lu
866875ec5d SedRegex: allow matching text with the trailing suffix missing
Closes https://github.com/jlu5/SupyPlugins/issues/91

Also add test cases for issues described in https://github.com/jlu5/SupyPlugins/issues/59 - text after the trailing separator should be ignored unless its a regex flag.
2020-03-22 21:12:40 -07:00
James Lu
17b3e86d1b Bump version to 2020.01.05+git 2020-01-05 21:12:06 -08:00
James Lu
5675a97857 Bump version to 2020.01.05 2020-01-05 21:11:31 -08:00
James Lu
cbd953b32c Update plugin author/maintainer data 2019-11-16 12:29:03 -08:00
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
81debc45ec SedRegex: add test for ReDoS timeout 2019-10-17 22:15:46 -07: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
eaea9ebd5f Bump version to 2019.07.09+git 2019-07-09 17:39:53 -07:00
James Lu
653d64d561 Bump version to 2019.07.09 2019-07-09 17:39:50 -07:00
James Lu
5672008a31 SedRegex: test case normalization of channel names 2019-06-05 15:25:45 -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
9504ee446a Bump version to 2019.03.03+git 2019-03-03 22:26:12 -08:00
James Lu
07f860c735 Bump version to 2019.03.03 2019-03-03 22:25:50 -08:00
James Lu
4e08442cde SedRegex: reuse processTimeout in the sub() process too 2018-12-12 18:56:26 -08:00
James Lu
5e6c9349fa README: specifically mention that /s is specific to this plugin
[skip ci]
2018-05-19 12:54:21 -07:00
James Lu
ca3b9323e7 Bump version to 2018.05.03+git 2018-05-03 12:09:23 -07:00
James Lu
f4bc06f0d3 Bump version to 2018.05.03 2018-05-03 12:01:10 -07: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
11a03ad9a0 Bump version to 2017.05.31 2017-05-31 13:10:47 -07:00
James Lu
b9481184cb SedRegex: skip testBoldReplacement on Python 2
I don't know why it breaks here and I don't really care.
2017-03-21 13:21:40 -07:00
James Lu
5e77c65a5f SedRegex: remove a duplicate test 2017-03-21 13:14:06 -07:00
James Lu
b53e6e40a0 SedRegex: use self.__class__ instead of __class__ in tests (Python 2 compat) 2017-03-21 13:10:23 -07:00
James Lu
a58785fa4a SedRegex: add a bunch of test cases
Closes #53.
2017-03-21 12:58:12 -07:00
James Lu
22a710649e Bump version to 2017.01.16+git 2017-01-16 21:23:59 -08:00
James Lu
f97b54d709 Bump version to 2017.01.16 2017-01-16 21:16:25 -08: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
9d0dce6ef5 SedRegex: add configuration / usage instructions 2016-12-17 20:49:16 -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
b6f0397665 Bump version to 2016.09.26+git 2016-09-26 11:08:14 -07:00
James Lu
23989f692e Bump version to 2016.09.26 2016-09-26 11:07:28 -07: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
7c3c90ee37 Bump version to 2016.07.03+git 2016-07-03 12:49:10 -07:00
James Lu
1e96e5fd80 Bump version to 2016.07.03 2016-07-03 12:49:04 -07:00
James Lu
274027c94a Bump version to 2016.05.15+git 2016-05-15 10:28:42 -07:00
James Lu
f2d9a3a3ff Bump version to 2016.05.15 2016-05-15 10:28:39 -07:00
James Lu
2a556a1b84 Rename Replacer->SedRegex (Closes #51) 2016-05-06 21:19:28 -07:00