Commit Graph

5662 Commits

Author SHA1 Message Date
Valentin Lorentz
e9ff57a1c9 Fediverse: Add usernameSnarfer. 2020-05-09 20:47:11 +02:00
Valentin Lorentz
76950126b5 Fediverse: Fix Python 3.4 compatibility. 2020-05-09 20:42:38 +02:00
Valentin Lorentz
79f13f3051 Fediverse: Add @featured command. 2020-05-09 20:29:24 +02:00
Valentin Lorentz
cb679d8599 Fediverse: Bug fixes. 2020-05-09 20:29:05 +02:00
Valentin Lorentz
d20bdbb5b7 Fediverse: Remove test @post command. 2020-05-09 19:29:00 +02:00
Valentin Lorentz
70fa18d155 Fediverse: Better error on unknown profile. 2020-05-09 19:28:37 +02:00
Valentin Lorentz
e87a14826e Fediverse: First draft. 2020-05-09 19:27:34 +02:00
Valentin Lorentz
bd1d7c9fa1 Config: Add @searchvalues. 2020-05-08 22:02:05 +02:00
Valentin Lorentz
b07376d16f Config: Exclude network pseudo-vars from @search. 2020-05-08 22:02:05 +02:00
Valentin Lorentz
428f5ca5dc Misc: Show a basic help when @help is called without an argument and customHelpString isn't set. 2020-05-08 12:37:07 +02:00
Valentin Lorentz
d627ba7683 Scheduler: Make @list show period and time before next run. 2020-05-06 18:15:53 +02:00
Valentin Lorentz
482658529b Scheduler: Add --delay option, to add an offset before the first run.
Closes GH-397.
2020-05-02 20:02:06 +02:00
Valentin Lorentz
ad05468257 Scheduler: Preserve period offset on restarts.
Partial fix for GH-397.
2020-05-02 18:28:41 +02:00
Valentin Lorentz
3ecc18e659 Scheduler: Add persistence tests. 2020-05-02 17:37:46 +02:00
Valentin Lorentz
ecc2c32950 Add support for storing STS policies.
If on an insecure connection: reconnect.
If on a secure connect: store it and do nothing else.

For now, stored STS policies are not read when connecting to an
insecure server.
2020-05-01 19:46:19 +02:00
Valentin Lorentz
3eb20adaf2 Fix extra arguments to irc.reply() being ignored by messages returned by '@more'.
This change builds all the ircmsg objects directly in irc.reply, with
the original arguments.

A side effect is that if a config var is changed between the initial command
call and the call to '@more', this commit makes it use the old values,
but that shouldn't be too much of an issue.

Closes GH-1405.
2020-04-11 16:40:07 +02:00
Valentin Lorentz
5e91a68ab0 Misc: Fix drop of the last (nb_mores % plugins.Misc.mores) messages.
If the last batch had less than plugins.Misc.mores messages;
getting the last messages of the batch would raise an IndexError,
causing the whole batch to be dropped.
2020-04-11 16:36:14 +02:00
Valentin Lorentz
f19079c75e Misc: rewrite @more tests to fully check the output.
This uncovered a few bugs; next commits will fix them.
2020-04-11 16:09:24 +02:00
Valentin Lorentz
37a7029618 SedRegex: when looking up config vars, strip statusmsg prefix from channel, and use network name for lookup. 2020-04-11 15:04:11 +02:00
Valentin Lorentz
0b0da9716d callbacks: honor network-specificity of supybot.reply.whenAddressedBy.
A side-effect is that plugins should now pass 'irc' instead of 'irc.nick'
when they call 'callbacks.addressed()'.
2020-04-11 15:00:46 +02:00
Valentin Lorentz
2953126fca test: Make assertNoResponse default to a non-zero timeout for threaded plugins.
Else it doesn't reliably check there is no response.
2020-04-11 00:17:16 +02:00
Valentin Lorentz
7e48ba0ba8 SedRegex: Use assertSnarfNoResponse instead of assertNoResponse.
assertNoResponse was only passing by accident on faster machines.
2020-04-11 00:16:01 +02:00
Valentin Lorentz
2bbd43fd85 ChannelStats: Skip checks of nick in irc.state.channels[channel] when channel databases are linked.
It crashes with KeyError because databases.plugins.channelspecific sets
channel='#', which is a non-existent channel.
And it doesn't make sense to check for presence in channel if the DB is
shared between all channels anyway.
2020-04-07 21:20:01 +02:00
James Lu
c212ee0e5e SedRegex: allow matching text with the trailing suffix missing
From: 866875ec5d
2020-04-02 10:00:40 -07:00
James Lu
c399272173 SedRegex: make callback matching case sensitive
This fixes a TypeError issue mentioned in d296bbb949.
2020-04-02 10:00:39 -07:00
James Lu
13c03716c5 Revert "SedRegex: Make pattern case-insensitive."
This reverts commit d296bbb949.
2020-04-02 09:47:32 -07:00
Valentin Lorentz
d296bbb949 SedRegex: Make pattern case-insensitive.
To fixes a mismatch between callbacks, which use flags=re.I by default,
and SED_REGEX.search which isn't; so 'S/foo/bar/' errored because it
matches case-insensitively so _unpack_sed is entered, but then _unpack_sed
fails to match it case-sensitively.
2020-04-02 17:30:57 +02:00
Valentin Lorentz
e2d72c5a43 Fix msgfmt warnings. 2020-03-26 22:10:28 +01:00
Valentin Lorentz
246925acce Relay: Add missing 'network' argument.
Broken since c1ae3f5c81.
2020-03-25 20:56:24 +01:00
James Lu
487897e7cc PluginDownloader: remove legacy name & python 2 branch of my repo 2020-03-20 16:37:15 -07:00
Valentin Lorentz
2f49362510 RSS: If ids are missing, use <link> as id. 2020-01-31 20:59:42 +01:00
Valentin Lorentz
653afdd086 RSS: Show a meaningful error in case '@rss' is called with a non-URL/name.
Instead of letting feedparser try to parse the name.
2020-01-28 19:35:05 +01:00
James Lu
d3b991895c SedRegex: skip testReDoSTimeout if multiprocessing is disabled 2020-01-27 08:00:46 -08:00
Valentin Lorentz
a6ae9f51a3 ChannelStats: Use the safe math evaluator. 2020-01-26 20:42:55 +01:00
Valentin Lorentz
99dd6f1506 core/Math: Move the math evaluator to src/utils/.
It will be used by ChannelStats.
2020-01-26 20:42:55 +01:00
Valentin Lorentz
5c10bea7aa Math: Fix log/log10 return type.
They used to always return complex numbers, instead of floats on float argument.
2020-01-26 20:42:55 +01:00
James Lu
4528a847e4 Aka, Google, String: fix more DeprecationWarning in tests (#1328) 2020-01-26 11:31:28 -08:00
James Lu
358c3a741f Channel: fix typo from 772862d49c 2020-01-26 11:22:51 -08:00
James Lu
304125cfd0 AutoMode, Channel, Nickometer: fix invalid escape sequence DeprecationWarning 2020-01-26 11:20:39 -08:00
James Lu
772862d49c plugins: use r'' strings to fix DeprecationWarning in test cases (#1328) 2020-01-26 11:14:25 -08:00
James Lu
ff899f5158 Aka, Debug: cleanup imports 2020-01-26 10:42:43 -08:00
Valentin Lorentz
9ab908759a Use importlib instead of imp.
importlib is deprecated.
2020-01-26 12:00:08 +01:00
Valentin Lorentz
9891b0fca4 Replace failUnless/failIf with assertTrue/assertFalse.
The old names are deprecated.
2020-01-26 11:14:18 +01:00
Valentin Lorentz
e7553dcca4 Add subcommand dispatching for CAP/FAIL/WARN/NOTE. 2020-01-23 14:25:10 +01:00
Valentin Lorentz
c457b52067 Deduplicate setting Accept-Language HTTP header.
This adds a new function conf.defaultHttpHeaders that can be used by plugins
to get all the default HTTP headers for a given network/channel.
2020-01-14 19:03:12 +01:00
Tasos Sahanidis
ae5ad2ceab Web: Implement protocols.http.requestLanguage 2020-01-14 18:48:11 +01:00
Tasos Sahanidis
7bd68df8aa Fix getSpecific usage
The channel and network arguments were incorrectly swapped
2020-01-12 10:35:35 +01:00
Valentin Lorentz
0fccea30ce Import MutableMapping and MutableSet from collections.abc.
Aliases in collections itself are removed in 3.8.
2020-01-09 01:11:12 +01:00
James Lu
d080edce00 Readd Limnoria name to default part & quit messages
This was removed in c930edd943
2020-01-04 11:17:57 -08:00
James Lu
51f10dbb60 SedRegex: update plugin metadata 2020-01-01 21:56:40 -08:00