From 85807dd077a8dfacbd36890171317dd3f9b3db84 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 20 Apr 2004 09:51:55 +0000 Subject: [PATCH] Fix for slashdot bug, I think. --- plugins/RSS.py | 13 +++++++++---- test/test_RSS.py | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/plugins/RSS.py b/plugins/RSS.py index f82f0853f..ed94ee26d 100644 --- a/plugins/RSS.py +++ b/plugins/RSS.py @@ -159,11 +159,16 @@ class RSS(callbacks.Privmsg): oldheadlines = [] newresults = self.getFeed(url) newheadlines = self.getHeadlines(newresults) - for headline in oldheadlines: + def headlineEq(h1, h2): + return h1.lower().split() == h2.lower().split() + for (i, oldheadline) in enumerate(oldheadlines): try: - newheadlines.remove(headline) - except ValueError: - pass + newheadline = newheadlines[i] + except IndexError: + break + if headlineEq(oldheadline, newheadline): + newheadlines[i] = None + newheadlines = filter(None, newheadlines) # Removes Nones. if newheadlines: for channel in channels: bold = self.registryValue('bold', channel) diff --git a/test/test_RSS.py b/test/test_RSS.py index 0e37f5c3b..1e17d860a 100644 --- a/test/test_RSS.py +++ b/test/test_RSS.py @@ -44,6 +44,8 @@ if network: def testRss(self): self.assertNotError('rss %s' % url) + m = self.assertNotError('rss %s' % url) + self.failUnless(m.args[1].count('||') == 1) def testRssAdd(self): self.assertNotError('rss add advogato %s' % url)