Commit Graph

41 Commits

Author SHA1 Message Date
James McCoy b42b06fe79 RSS._getConverter: Encode strings before handing them off to other functions
When the feed has a specified encoding, we'll be dealing with unicode objects
in the response from feedparser.parse().  To avoid possible UnicodeErrors, we
need to encode() before handing the string off to other functions, so the
other functions are always dealing with bytestrings instead of bytestrings and
unicode objects.  Mixing unicode and bytestrings will cause implicit
conversions of the unicode objects, which will most likely use the wrong
encoding.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 964c73f591)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2011-12-12 11:04:03 -05:00
Daniel Folkinshteyn 7c14992fe8 RSS: don't output anything if there are no headlines remaining after filtering. 2011-08-15 13:45:07 -04:00
Daniel Folkinshteyn c270111c6b RSS: fix bug failing to define a variable under some conditions before referencing it. 2011-08-15 11:13:54 -04:00
Daniel Folkinshteyn af32d6bfd3 RSS: add channel-specific blacklist and whitelist.
also fix bug introduced with the initialannounce feature, which overwrote newheadlines
list when doing channel-specific things with it.
2011-08-14 01:42:08 -04:00
James Vega 23cca935cb Use conf.registerGlobalValue to ensure generated values are properly setup.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 0c62204809)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2010-06-25 00:42:02 -04:00
Daniel Folkinshteyn 2bb3ba9443 fix bug in RSS.announce.list:
Because the 'channel' argument was declared optional, calling announce.list
off-channel without a channel argument caused an error.
2010-04-26 19:50:08 -04:00
Daniel Folkinshteyn 55eeb4a57b Add some sanity checks to RSS plugin:
First: if an rss feed is called without the number of headlines argument,
we now have a default number of items it will output.
before, it tried to stuff the whole rss feed into the channel, which is quite
floody, if more than one 'mores' is set, or if oneToOne is false.

Second: when adding a new feed to announce, it again, tried to stuff the
whole rss feed into the channel, which ran into the same floody conditions
as above. now we have a default number of feeds to output when there's no
cached history.
2010-04-25 00:34:31 -04:00
James Vega eff20402ac Change canonize => normalize
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-27 16:41:34 -04:00
James Vega 54dda880d4 Add a pluginCommands kwarg to Commands.listCommands.
Plugins which implement their own listCommands method should pass their
non-typically discoverable commands to Commands.listCommands via this
mechanism.  This means that the de-duplication of commands is performed in one
spot instead of having each plugin implement it on their on in their
listCommands method.

This reverts commits 0ce829af6215b97e725f4d6d580d1151950be869 and
09fb0e6fc974445a3414fb03a94625f8538d4570.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-22 18:52:15 -04:00
James Vega 7b906fbf54 Fully qualify the call to universalImport so we don't get a NameError.
Also added some ImportError handlers to aid letting users of distribution
packages know if the distributions strip out the local module copies.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-19 20:33:17 -04:00
James Vega 3fd92e7f24 RSS: Move feedparser to the local directory
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-11 19:43:23 -04:00
Jeremy Fincher 5076241bcd Fixed RSS to include a feedparser which doesn't override the globally-installed one, using universalImport. 2009-03-11 14:06:16 -04:00
James Vega 62acb0c998 Make RSS.announce a nested plugin
This simplifies the interface for dealing with announced feeds by providing
separate "announce add", "announce remove", "announce list" commands as
opposed to the one "announce" command with confusing syntax.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-28 00:10:10 -05:00
James Vega 0e05fe67c7 No need to define RSS.listCommands
Doing so can lead to RSS feeds being listed multiple times.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-27 23:36:29 -05:00
James Vega 9cc917bd36 Guard feedparser import and warn the user if it's not available 2009-03-11 13:37:26 -04:00
James Vega 7bb3b1ec60 Merge the changes from the python25compat branch into the trunk 2009-03-11 13:37:24 -04:00
James Vega 8111c48a49 Switch from rssparser 3.3 to (the renamed) feedparser 4.1 in order to properly handle Bugzilla RSS feeds. 2007-05-09 02:30:18 +00:00
James Vega 4064da76aa plugins/RSS: UTF-8 encode the RSS' URL to prevent an encoding error when including the URL in the reply. 2006-08-28 13:18:12 +00:00
James Vega 73d7fd3a2d plugins/RSS/plugin.py: Refactor the character encoding detection and conversion so it can be used in more places. Hopepfully this will cause fewer UnicodeDecodeErrors. 2006-05-02 12:22:11 +00:00
James Vega a3e4fc5b1d Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
James Vega 1edb4e13bf plugins/RSS: Colons are pretty. 2005-07-22 12:20:11 +00:00
James Vega 45c7f773ac plugins/RSS: Fix info so it works again. 2005-07-19 21:32:54 +00:00
James Vega 14dc0c0201 plugins/RSS: If the feed supplies an encoding, encode the headlines with it. 2005-07-07 14:13:53 +00:00
Jeremy Fincher 490fb0b140 Changed prefixName to prefixNick, which is more appropriate, and has always bothered me. Better now than later. 2005-06-01 21:08:30 +00:00
Jeremy Fincher 4da1f38235 Fixed the security issue nicktastic reported, and made sure that if, for some reason, an error doesn't raise an exception, it still stops the calling of the command function. 2005-06-01 20:13:33 +00:00
James Vega 34f5be5252 RSS: Use del instead of pop. 2005-05-30 02:27:16 +00:00
James Vega 7fdb72ab4f plugins/RSS: Stop using attributes for feeds. 2005-05-30 00:52:54 +00:00
James Vega 85e9035535 plugins/RSS: Fix a bug in RSS.remove. 2005-05-29 16:54:57 +00:00
James Vega 994cff5c05 Update a couple missed changeFunctionName calls. 2005-05-16 03:25:43 +00:00
James Vega 9971e991fe Fix the modelines. 2005-03-23 20:07:45 +00:00
James Vega 919f9e0915 Grammar nazi of DOOM! 2005-02-25 00:06:16 +00:00
James Vega 80c53dcea3 Make automatic announcement errors not: a) poll every time __call__ is called, b) respond with the errors. 2005-02-25 00:04:39 +00:00
James Vega 527a6e1834 Fix the problem with RSS complaining about invalid feed names. 2005-02-23 00:03:09 +00:00
James Vega 25ae2a52cf Use get to avoid a KeyError. 2005-02-22 14:28:45 +00:00
James Vega 3f94bf6dae Fix an exception in RSS.announce. 2005-02-22 14:27:59 +00:00
Jeremy Fincher ee7ca1668c Fix for the new refactoring in callbacks. 2005-02-19 08:43:37 +00:00
Jeremy Fincher 99d723802e Changed the name of getCommand to getCommandMethod in preparation for a major refactoring. 2005-02-15 06:53:30 +00:00
Jeremy Fincher b0cb616709 Changed callbacks.Privmsg to be callbacks.Plugin, and callbacks.PrivmsgCommandAndRegexp to be callbacks.Plugin. 2005-02-09 07:04:04 +00:00
Jeremy Fincher 571ff24155 Changed canonicalize to canonize -- thanks Skorobeus! 2005-02-04 03:19:05 +00:00
Jeremy Fincher e94900c0eb Removed some debugging code, and added a bit of extra debug logging. 2005-02-02 06:12:25 +00:00
Jeremy Fincher 3f1b0335c2 Added RSS in the new plugin format. 2005-02-02 06:03:09 +00:00