diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 53c9833e2..102e40c52 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -114,6 +114,9 @@ class Feed(models.Model): max_feed_title = Feed._meta.get_field('feed_title').max_length if len(self.feed_title) > max_feed_title: self.feed_title = self.feed_title[:max_feed_title] + max_feed_address = Feed._meta.get_field('feed_address').max_length + if len(self.feed_address) > max_feed_address: + self.feed_address = self.feed_address[:max_feed_address] try: super(Feed, self).save(*args, **kwargs) @@ -613,11 +616,10 @@ class Feed(models.Model): self.data.save() return - if not feed_tags: - tags_list = [] - elif isinstance(feed_tags, unicode): + tags_list = [] + if feed_tags and isinstance(feed_tags, unicode): tags_list = json.decode(feed_tags) - if len(tags_list) > 1: + if len(tags_list) >= 1: self.save_popular_tags(tags_list[:-1]) def save_popular_authors(self, feed_authors=None): diff --git a/apps/rss_feeds/page_importer.py b/apps/rss_feeds/page_importer.py index b2c6c0820..d285a807b 100644 --- a/apps/rss_feeds/page_importer.py +++ b/apps/rss_feeds/page_importer.py @@ -3,6 +3,7 @@ import re import urlparse import traceback import feedparser +import time from utils import log as logging from apps.rss_feeds.models import MFeedPage from utils.feed_functions import timelimit, mail_feed_error_to_admin @@ -26,6 +27,7 @@ class PageImporter(object): try: request = urllib2.Request(self.url, headers=HEADERS) response = urllib2.urlopen(request) + time.sleep(0.01) # Grrr, GIL. data = response.read() html = self.rewrite_page(data) self.save_page(html)