Valentin Lorentz
a4a0082c17
Later: use .tag() to set tags, as there is no IrcMsg.__setattr__.
2016-01-22 20:13:22 +00:00
Valentin Lorentz
4576874128
httpserver: Respond to HEAD requests. Closes GH-1203.
2016-01-05 18:25:35 +01:00
Valentin Lorentz
1010ea244b
Filter: Extend outfilter to cover NOTICEs. Closes GH-1164.
2016-01-02 13:32:03 +01:00
Valentin Lorentz
715f9cd52d
Merge pull request #1201 from GLolol/web/strip-newlines
...
Web: normalize whitespace in titles
2015-12-30 10:00:42 +01:00
James Lu
e2dedcc5a4
Web: normalize whitespace in titles
...
Sample link: http://googleblog.blogspot.com/2015/08/android-wear-now-works-with-iphones.html
Before: <bot> 'Title: \nOfficial Google Blog: Android Wear now works with iPhones\n (at googleblog.blogspot.com)'
After: <bot> Title: Official Google Blog: Android Wear now works with iPhones (at googleblog.blogspot.com)
2015-12-29 17:12:26 -08:00
Valentin Lorentz
f26716f2b8
Utilities: Add @let.
2015-12-29 18:00:05 +01:00
Valentin Lorentz
f7943a6697
Plugin: make @plugins take non-first words into account. Closes GH-68.
2015-12-28 20:09:48 +01:00
Valentin Lorentz
8e427838cd
Plugin: internationalize a string.
2015-12-28 20:04:31 +01:00
Valentin Lorentz
f4d36cd087
Admin: internationalize a string.
2015-12-28 20:01:40 +01:00
Valentin Lorentz
857027a26f
Fix tests for Python 2.
2015-12-27 12:43:35 +01:00
Valentin Lorentz
b42437c711
Unix: Channel-specific list of files for @fortune.
...
Also forbid file names starting with a dash, because
arguments to the fortune argument could be used for
DoSing.
2015-12-27 12:32:09 +01:00
Valentin Lorentz
49ff291f61
Use utf-8 to encode files by default.
...
Should fix this bug in Seen:
Traceback (most recent call last):
File "C:\Program Files\Python34\lib\site-packages\supybot\world.py", line 121, in flush
f()
File "C:\Program Files\Python34\lib\site-packages\supybot\plugins\__init__.py", line 271, in flush
writer.writerow(L)
File "C:\Program Files\Python34\lib\site-packages\supybot\utils\file.py", line 172, in write
return self._fd.write(data)
File "C:\Program Files\Python34\lib\encodings\cp1250.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u25c4' in position 33: character maps to <undefined>
2015-12-23 15:22:19 +01:00
Valentin Lorentz
2364cf176d
Status: Fix sort on Python3 (dict_items, not list). Closes GH-1199.
2015-12-20 10:09:39 +01:00
James Lu
45c5e29849
Channel: fix help text in "cycle" command
...
Closes #1197 .
2015-12-19 09:01:29 -08:00
Valentin Lorentz
65abedcca1
ChannelStats: Don't crash on messages with no argument, eg. AWAY.
2015-12-19 00:13:42 +01:00
Valentin Lorentz
856d275697
Status: Fix output of @cpu if the amount of memory is unknown.
2015-12-07 16:32:53 +01:00
Valentin Lorentz
b0ee589702
Seen: Fix handling of MODE and TOPIC.
2015-12-05 21:29:07 +00:00
Valentin Lorentz
4d3fa77018
Fix typo.
2015-12-04 13:39:28 +01:00
Valentin Lorentz
2937152dc1
ChannelLogger && ChannelStats && Limiter && Relay && Seen: Use new QUIT and NICK 'channels' tag instead of copying the state.
2015-12-04 13:30:07 +01:00
Valentin Lorentz
1493adc041
Merge pull request #1194 from GLolol/filter/rainbow-stripcolor
...
Strip colour before applying new colour in Filter.rainbow and colorize
2015-12-02 09:41:56 +01:00
Valentin Lorentz
56d4cbec08
Aka: Fix Python 2 compatibility.
2015-12-02 09:06:34 +01:00
Valentin Lorentz
3fde279e50
Aka: Fix database name.
2015-12-02 07:55:00 +00:00
jacksonmj
61f2df5cc3
Strip colour before applying new colour in Filter.rainbow and colorize
...
This makes them work much better when the input text already contains colour.
(cherry picked from commit jacksonmj/Limnoria@be83befabf )
2015-12-01 18:20:01 -08:00
Valentin Lorentz
bc19a9fc7f
Web: fix syntax.
2015-11-30 07:45:05 +00:00
Valentin Lorentz
eaf9e40dc2
Web: increase subprocess memory limit and catch MemoryError appropriately.
2015-11-29 18:34:54 +00:00
Valentin Lorentz
a070b658a0
Web: Fix title fetching.
2015-11-29 17:59:57 +00:00
Valentin Lorentz
ad8883a724
Network: Perform susbstitution in quit message.
2015-11-18 12:18:46 +01:00
Valentin Lorentz
b69e6e22bb
Conditional: Rename @iferror to @cerror and simplify its logic to just return a boolean.
2015-11-14 19:28:05 +01:00
Valentin Lorentz
5f361ef180
Conditional: Add command @iferror. Closes GH-1114.
2015-11-14 19:20:25 +01:00
Valentin Lorentz
534fb5c78f
ShrinkUrl: Fix previous commit.
2015-11-11 12:20:44 +00:00
Valentin Lorentz
c65762544c
ShrinkUrl: Preven crash for commands with no arguments.
2015-11-11 12:15:55 +00:00
Valentin Lorentz
b3dbde18b8
Conditional: Don't import * from commands and remove the hack for any/all.
2015-11-09 19:10:19 +01:00
Valentin Lorentz
8bdab5e23e
Condition: Add support for integers (casted to booleans).
2015-11-07 18:44:33 +01:00
Valentin Lorentz
e1d0c232ea
Aka: Deprecate SQLAlchemy backend.
2015-11-07 18:29:43 +01:00
Valentin Lorentz
3f66dbc3d5
Channel & Dunno & Misc & RSS & Scheduler: Let the logging facility perform string templating to avoid extra format chars in argument.
2015-11-03 17:25:13 +01:00
Valentin Lorentz
a8748c3b73
GPG: Fix test crash since 57b77a6725
.
2015-10-25 16:27:57 +01:00
Valentin Lorentz
1f57c31665
Web: Fix NameError with snarferShowTargetDomain. Closes GH-1177.
2015-10-25 16:20:31 +01:00
Valentin Lorentz
e3ff413734
Web & core: Merge features of Web's title parser and utils.web.HtmlToText + don't unescape HTML twice. Closes GH-1176.
2015-10-23 07:41:36 +02:00
Jussi Timperi
1f96471d93
Web: Correct capitalization in testTitle.
2015-10-22 17:19:03 +03:00
Jussi Timperi
5cf1b34f55
Web: Use title instead of parser.title.
2015-10-22 17:13:47 +03:00
Jussi Timperi
df7689cc2e
Web & utils.web: Force HTMLParser to process all buffered data.
...
Python issue 23144.
2015-10-22 16:56:53 +03:00
Valentin Lorentz
526ffb0ccb
Web: Fix code factorization ( 576a96fb71
). Closes GH-1173.
2015-10-17 15:41:20 +02:00
Valentin Lorentz
fb52b16429
RSS: Allow @announce add to take URLs as feed names.
2015-10-10 20:40:25 +02:00
Valentin Lorentz
d397b4706d
Merge pull request #1172 from GLolol/web/strip-titles
...
Web: actually return a whitespace-stripped title
2015-10-04 22:05:08 +02:00
James Lu
6e96f8f8bf
Web: actually return the whitespace-stripped title
2015-10-04 12:54:41 -07:00
Jussi Timperi
67e5b55c1a
Google: Handle empty results in translate.
2015-10-03 01:06:18 +03:00
Valentin Lorentz
27b878ff7c
Math: Add comment about security.
2015-09-28 18:59:29 +02:00
Valentin Lorentz
0371480bd6
Math: add the 'round' function.
2015-09-28 18:57:46 +02:00
Valentin Lorentz
532309ecff
Merge pull request #1170 from GLolol/badwords-1
...
BadWords: truly fix the bot kicking people when badwords list is empty
2015-09-26 08:57:16 +02:00
James Lu
96dc860313
BadWords: truly fix kicks when badwords list is empty ( #989 )
2015-09-25 20:51:15 -07:00
Valentin Lorentz
4498548cb3
RSS: Add supybot.plugins.RSS.notice. Closes GH-1151.
2015-09-23 11:27:20 +02:00
Valentin Lorentz
1002ec5d30
Later: Allow multiple targets. Closes GH-1169.
2015-09-23 11:23:21 +02:00
Valentin Lorentz
82332ff87c
RSS: Add feed-specific waitPeriod.
2015-09-23 11:05:25 +02:00
Valentin Lorentz
685bedcd74
Add config variable supybot.abuse.flood.command.notify.
2015-09-16 21:32:25 +02:00
Valentin Lorentz
2e7df9cfc2
Service: Actually allow 0.
2015-09-15 21:00:31 +02:00
Valentin Lorentz
e54ae6dc77
Service: Don't ghost if ghostDelay is set to 0.
2015-09-15 20:59:26 +02:00
James Lu
f5146e8af4
Filter: more efficient _squish code
2015-09-10 06:57:40 -07:00
James Lu
ed493e6504
Filter: strip spaces in "unbinary" ( Closes #1166 )
...
This makes _squish() a shared function to prevent code duplication. Also, remove duplicate testUnbinary function, and add tests for this.
2015-09-09 19:32:15 -07:00
Valentin Lorentz
b51075969f
Google: Move the main code of translate to a separate function (usable by other plugins).
2015-09-09 21:24:47 +02:00
Valentin Lorentz
1c218592af
RSS: Add fallback on sorting by update timestamp + add outdatedFirst and updatedFirst sorts. Closes GH-1139.
2015-09-02 10:04:04 +02:00
Valentin Lorentz
29ca3eb5e4
RSS: Sort on time tuples instead of formatted dates.
2015-09-02 09:43:29 +02:00
Valentin Lorentz
c81d5d3151
Make the 'command flood' banmask follow supybot.protocols.irc.banmask.
2015-09-01 20:40:32 +02:00
Valentin Lorentz
6d60616597
Merge pull request #1161 from jacksonmj/private-user-list
...
Send User.list response in private
2015-08-31 15:16:25 +02:00
jacksonmj
5914499766
Change User.listInPrivate config value from global to channel-specific
2015-08-31 13:04:33 +00:00
Valentin Lorentz
69358681f7
ChannelLogger: Fix 'dictionary changed size during iteration'.
2015-08-31 08:40:30 +00:00
Valentin Lorentz
c01a956a8b
utils: Remove dependency on parent package.
2015-08-30 17:33:39 +02:00
jacksonmj
3b1c56bbcd
User.list: add config value plugins.User.listInPrivate to force user list response to be sent in private
...
This prevents mass-highlights of people who use their IRC nick as their bot username.
2015-08-30 00:48:29 +00:00
James Lu
dbd12e9c0c
Aka: allow filtering 'list' by Aka lock status
...
This adds two mutually incompatible options to Aka list: --locked and --unlocked
2015-08-29 17:21:17 -07:00
Valentin Lorentz
e5d8315e64
Language.
2015-08-29 21:46:47 +02:00
Valentin Lorentz
20ef13ef9f
Web: Ignore SVG titles. Closes GH-1147.
2015-08-29 21:08:35 +02:00
Valentin Lorentz
576a96fb71
Web: Factorize the code of the title snarfer and the title command.
2015-08-29 21:04:38 +02:00
Valentin Lorentz
8033e6ae14
Merge pull request #1159 from jacksonmj/math
...
Prevent untrusted users from freezing the bot with Math.rpn, and allow factorial calculation for smaller numbers
2015-08-29 08:09:12 +02:00
jacksonmj
97c7d0a9c3
Math.calc: allow factorial for smallish numbers
2015-08-29 01:27:50 +00:00
jacksonmj
1aeb847509
Math.rpn should use _mathSafeEnv, otherwise untrusted users can freeze the bot
2015-08-29 01:26:45 +00:00
Valentin Lorentz
b8f5423130
Unix: Skip tests instead of ignoring them if a dep is missing + use ls instead of ping.
2015-08-26 23:09:55 +02:00
Valentin Lorentz
4d6bd84d00
Time: skip tests if dependencies are not available.
2015-08-26 22:45:33 +02:00
Valentin Lorentz
33e8966e4b
ChannelLogger & core: Use IRCv3.2 extension invite-notify if available.
2015-08-22 18:24:32 +02:00
jacksonmj
9eafe29c30
Alias: fix tests
2015-08-22 14:36:00 +00:00
jacksonmj
ff4040f479
Alias: prevent "RuntimeError: dictionary changed size during iteration" for invalid aliases
2015-08-22 13:24:19 +00:00
jacksonmj
f5c66afe4f
Alias: add hard-coded check that alias names are valid registry names
2015-08-22 13:24:01 +00:00
jacksonmj
4507771ce7
Alias: clearer description for list command, as suggested by ProgVal
2015-08-22 12:54:06 +00:00
jacksonmj
92acea7785
Alias: refactor some of the registry access
2015-08-22 12:48:59 +00:00
jacksonmj
d9b21dc5be
Alias: more relaxed valid name regex (printable characters instead of "a-z0-9 and some symbols")
2015-08-22 11:37:13 +00:00
jacksonmj
963a17c817
Alias: make regex for valid alias names configurable
2015-08-22 11:37:13 +00:00
jacksonmj
54e9b4be09
Alias: add a list command to list aliases, optionally filtered by locked status
...
("list Alias" includes Alias plugin commands as well as aliases, and cannot be filtered by locked status)
2015-08-22 11:37:12 +00:00
jacksonmj
fd53d8c410
Alias: correct unescaping of alias names when creating registry entries in Alias.__init__
...
Only a problem when the rules on allowed alias names were relaxed, in which case backslashes were duplicated
every time the bot restarted.
Also factor out '.' and '|' checks into needsEscaping function
2015-08-22 11:37:12 +00:00
jacksonmj
711572b5b2
Alias: fix locking and unlocking for escaped aliases
2015-08-22 11:37:12 +00:00
Valentin Lorentz
d4c49d8215
Factoids: Fix help of requireVoice. Closes GH-1153.
2015-08-17 18:22:36 +02:00
Valentin Lorentz
aa98d987a7
Fix imports to minisix.
2015-08-11 17:01:58 +02:00
Valentin Lorentz
c3a2c800f1
Remove need for 2to3.
2015-08-11 16:50:23 +02:00
Valentin Lorentz
054953891f
Web: check URL whitelist in snarfer.
2015-08-11 14:46:47 +00:00
Valentin Lorentz
f305ff3c02
Remove fix_basestring.
2015-08-10 20:24:11 +02:00
Valentin Lorentz
2c380a4c3a
Remove fix_xrange.
2015-08-10 19:36:07 +02:00
Valentin Lorentz
23ddfbc7e3
Filter & Google: Fix Python 3.2 compatibility.
2015-08-10 19:14:22 +02:00
Valentin Lorentz
8ad16701ce
MoobotFactoids: Fix Python 3.2 support.
2015-08-10 19:02:50 +02:00
Valentin Lorentz
be6bc1a734
Remove need for fix_unicode.
2015-08-10 18:52:51 +02:00
Valentin Lorentz
6ceec0c541
Web: HTMLParseError is deprecated/unused since Python 3.3 and removed in Python 3.5.
2015-08-10 18:16:02 +02:00
Valentin Lorentz
34d384bd67
Remove need for fix_methodattrs.
2015-08-10 18:09:52 +02:00
Valentin Lorentz
c0ac84bb53
Remove need for fix_import, fix_types, and fix_urllib.
2015-08-10 17:55:25 +02:00
Valentin Lorentz
17bf893437
Fix imports.
2015-08-09 09:21:12 +02:00