Commit Graph

5404 Commits

Author SHA1 Message Date
Valentin Lorentz
61e5a29351 Fix scheme-matching regexp.
Old behavior allowed underscores and schemes starting with a digit,
and did not allow -+.
New behavior: https://tools.ietf.org/html/rfc3986\#section-3.1

Side effect: closes GH-1146
2016-02-07 09:44:08 +01:00
Valentin Lorentz
e9b122c973 Later: Do not use ValueError for reporting full queues.
Someone on IRC reported a ValueError being raised from an other part of the code.
2016-01-31 12:11:04 +01:00
Valentin Lorentz
ce0b788f2f Merge remote-tracking branch 'freeboson/patch-2' into testing 2016-01-27 14:27:32 +01:00
Sujeet Akula
26840f7a2e add desc for wizard — plugindownloader 2016-01-27 08:23:47 -05:00
Valentin Lorentz
6b3766dcd1 Remove trailing spaces. 2016-01-27 14:04:58 +01:00
Valentin Lorentz
638897671e Merge remote-tracking branch 'freeboson/patch-1' into testing 2016-01-27 14:04:14 +01:00
Sujeet Akula
c44d2007c4 add desc for wizard 2016-01-27 08:03:05 -05:00
Usama Akkad
44a4d31b05 Add some explanation about Google plugin functions 2016-01-27 01:08:38 +02:00
Usama Akkad
8c191a8ce2 Add some explantation about Google plugin functions 2016-01-27 00:05:06 +02:00
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