Commit Graph

11380 Commits

Author SHA1 Message Date
James Lu dee2b6bdb3 SedRegex: require ending delimiter to prevent overzealous matching of replacement text
Closes #59.

From: 414a4a4a16
2020-01-01 21:55:58 -08:00
James Lu 656d2172db SedRegex: work around "nothing to replace" errors on < Python 2.7.6 again
From: 244a8c6bee
2020-01-01 21:55:58 -08:00
James Lu 889c6a1615 SedRegex: fix flag matching
From: db125ee5d1
2020-01-01 21:55:58 -08:00
James Lu c1c423cc0d SedRegex: add configuration / usage instructions
From: 9d0dce6ef5
2020-01-01 21:55:58 -08:00
James Lu 24ae250ac4 SedRegex: implement 's' regex flag to only match the caller's message
From: 87c79db3d0
2020-01-01 21:55:58 -08:00
James Lu bd0b1158fc SedRegex: allow free form flags and return them in _unpack_sed()
From: 423da9f996
2020-01-01 21:55:58 -08:00
James Lu c1e2e2b8a6 SedRegex: sanitize against \n\r\t in output
From: 48445e256a
2020-01-01 21:55:58 -08:00
James Lu 00f26b0a73 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.

From: 84b94d589c
2020-01-01 21:55:58 -08:00
James Lu fa13c68ebc 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

From: 335fc6e3da
2020-01-01 21:55:58 -08:00
James Lu 1499141f09 Import SedRegex plugin as of 2a556a1b84
Co-authored-by: Michael Daniel Telatynski <postmaster@webdevguru.co.uk>
Co-authored-by: nyuszika7h <nyuszika7h@openmailbox.org>
2020-01-01 21:55:57 -08:00
Valentin Lorentz 5348869e4f Skip irctest when optional dependencies are not installed. 2020-01-01 12:07:59 +01:00
Valentin Lorentz ac07b440dc Rewrite ecdsa-nist256p-challenge using python-cryptography instead of python-ecdsa.
Which is more secure. Closes GH-1389.

It also fixes the protocol/format to use the same one as Atheme.
See also: 8a81224ba8
2020-01-01 12:07:59 +01:00
Valentin Lorentz 864b1759e3 Drop support for Python versions before 3.4. 2020-01-01 12:07:59 +01:00
Adam Baxter 25d9f468fe Update TL;DR install instructions with python3-wheel dependency (#1397) 2019-12-29 21:35:10 -08:00
Valentin Lorentz 12b6c9d60e Config: Sort output of @list. 2019-12-24 02:43:31 +01:00
Valentin Lorentz fcb342cb2c test: Mock calls to time.sleep()
The tests now take 7 seconds instead of 30.
2019-12-15 20:20:42 +01:00
James Lu a6392c8582 test: choose a random free port for tests using the HTTP server
Closes #1392.
2019-12-15 20:20:37 +01:00
Valentin Lorentz 8491d0b944 Web: Lower log level when title could not be found. 2019-12-15 18:43:51 +01:00
Valentin Lorentz dc2068deca Web: Remove leading space if the prefix is empty. 2019-12-15 17:27:47 +01:00
Richard 143cd9d506 Services: Fix typo in doInvite() (#1394) 2019-12-13 11:01:48 -08:00
Valentin Lorentz 130ceede57 Update supybot-plugin-doc to work with current version of the registry.
Closes GH-1388.
2019-12-09 21:34:21 +01:00
Valentin Lorentz a86df1fc35 Remove dead code from Group that belongs in Value. 2019-12-09 21:27:09 +01:00
Valentin Lorentz 83114e5fbd src/callbacks.py: use network-specific values.
Closes GH-1393
2019-12-05 21:51:25 +01:00
Valentin Lorentz 1ed47f802f Request msgid capability. 2019-12-05 21:11:35 +01:00
Mattia Rizzolo 981a3b245a QuoteGrabs: fix SyntaxWarning (#1391)
SyntaxWarning: "is" with a literal. Did you mean "=="?

Signed-off-by: Mattia Rizzolo <mattia@mapreri.org>
2019-11-27 07:59:11 -08:00
Valentin Lorentz a1ee580d08 Make getLocaleFromRegistryCache reload existing locales.
The core locale is loaded before this function is called, so it needs to
reload it for non-en locales to be loaded.
2019-11-24 12:59:38 +01:00
Valentin Lorentz 63b0d7e653 Update core fr translation. 2019-11-24 12:47:03 +01:00
Valentin Lorentz 0828b207be Add fallback if getting supybot.language from registry cache failed. 2019-11-24 12:46:10 +01:00
Valentin Lorentz 423a38770b Get locale name on startup from registry cache instead of parsing config file.
Parsing the config file needlessly requires an extra read of it,
and is brittle (extra spaces, etc.)
It was especially broken as there was a newline character
at the end of currentLocale, which made everything fail
shamefully.
2019-11-24 12:04:21 +01:00
Valentin Lorentz a8b6698849 Add config supybot.reply.format.list.maximumItems to limit the size of format('%L', ...). 2019-11-23 18:48:58 +01:00
Valentin Lorentz 1a1707420b Web: Add early returns on exception when snarfing titles.
Closes GH-1390.
2019-11-22 18:17:53 +01:00
James Lu 9291fbd4a0 All plugins: set Limnoria contributors as maintainer 2019-11-16 11:41:13 -08:00
James Lu 1858eaf59e Plugin: support showing __maintainer__ field in the 'author' command 2019-11-16 11:41:13 -08:00
James Lu a4701b258c Plugin: accept author name in 'contributors' command 2019-11-16 11:41:13 -08:00
James Lu 7854db7135 Better formatting in supybot.Author if some fields are missing 2019-11-16 11:41:13 -08:00
Valentin Lorentz bace9cb6c0 MoobotFactoids: Fix support of commands sent in private.
Regression from c1ae3f5c81.
2019-11-15 21:24:31 +01:00
Valentin Lorentz bc663b164c Nicer error message in getChannel/makeChannelFilename when channel is None. 2019-11-15 21:14:46 +01:00
Valentin Lorentz f85287771d RSS: Register feed config in config.py instead of plugin.py.
So they are not dropped if plugin.py fails to load before
feedparser is not installed.

Closes GH-1387.
2019-11-11 19:42:34 +01:00
Valentin Lorentz 8001de6960 Scheduler: Use assertRegexp instead of assertNotRegexp in tests.
It avoids self negatives.
2019-11-11 18:06:59 +01:00
Valentin Lorentz b2f6c3c83f test: Don't overwrite the main Schedule in the driver list.
Closes GH-1385.
2019-11-11 18:06:07 +01:00
Valentin Lorentz 5718eafc07 Scheduler: Use default timeout for assertResponse.
Needed for slow/busy computers like Travis, apparently.
2019-11-11 15:29:20 +01:00
Valentin Lorentz ad6671966c Scheduler: Use mocking to make tests faster.
40s -> less than 10s.
Also some timeout tweaks that might fix GH-1385.
2019-11-11 15:06:06 +01:00
Valentin Lorentz 1a69a7b892 Math: Fix test on Pypy. 2019-11-11 12:38:27 +01:00
Valentin Lorentz 78a50c81bd Math: Display a nicer error in case of MemoryError. 2019-11-11 12:12:10 +01:00
Valentin Lorentz 2dddfefa98 Fix log on SASL failure.
Broken by 04b55805b8.
2019-11-09 18:38:40 +01:00
Valentin Lorentz 6a9462be00 Fix reset of capabilities_ls.
Broken by 0014b206ad.
2019-11-09 18:27:07 +01:00
Valentin Lorentz 3848ae78de Math: Rewrite calc functions with a proper evaluator.
Instead of hacking around eval(), which everyone knows is a bad idea
even with prior expression sanitizing.
2019-11-09 15:49:31 +01:00
Valentin Lorentz 5e2343f717 Update doc of capabilities.default to mention 'channel capability setdefault'. 2019-11-08 20:53:04 +01:00
Valentin Lorentz 04b55805b8 Log SASL mechanism on failure. Closes GH-1014. 2019-11-02 20:52:58 +01:00
Valentin Lorentz 813f688858 Config: Add : prefix to network-specific values listed by 'config list'. 2019-11-02 18:50:20 +01:00