Commit Graph

5394 Commits

Author SHA1 Message Date
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
Valentin Lorentz 5b9e07ecd2 Fix previous commit. 2015-08-09 00:47:50 +02:00