From ccb6d38fa3bac63512398716702bd543935a89ba Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Wed, 10 Apr 2013 19:14:19 -0700 Subject: [PATCH] Adding support for automatically converting google alerts. --- apps/rss_feeds/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 313d78c1b..5e80a975b 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -177,6 +177,8 @@ class Feed(models.Model): self.next_scheduled_update = datetime.datetime.utcnow() if not self.queued_date: self.queued_date = datetime.datetime.utcnow() + self.fix_google_alerts_urls() + feed_address = self.feed_address or "" feed_link = self.feed_link or "" self.hash_address_and_link = hashlib.sha1(feed_address+feed_link).hexdigest() @@ -269,6 +271,14 @@ class Feed(models.Model): def merge_feeds(cls, *args, **kwargs): return merge_feeds(*args, **kwargs) + def fix_google_alerts_urls(self): + if (self.feed_address.startswith('http://user/') and + '/state/com.google/alerts/' in self.feed_address): + match = re.match(r"http://user/(\d+)/state/com.google/alerts/(\d+)", self.feed_address) + if match: + user_id, alert_id = match.groups() + self.feed_address = "http://www.google.com/alerts/feeds/%s/%s" % (user_id, alert_id) + @classmethod def schedule_feed_fetches_immediately(cls, feed_ids): logging.info(" ---> ~SN~FMScheduling immediate fetch of ~SB%s~SN feeds..." %