Merge branch 'master' into social

* master:
  Missing last update date.
  Fixing major bug around stale data when updating feeds.
This commit is contained in:
Samuel Clay 2012-03-21 17:12:20 -07:00
commit 3e83186254
3 changed files with 11 additions and 9 deletions

View file

@ -659,19 +659,19 @@ class Feed(models.Model):
})
disp = feed_fetcher.Dispatcher(options, 1)
disp.add_jobs([[self.pk]])
disp.run_jobs()
feed = disp.run_jobs()
self.last_update = datetime.datetime.utcnow()
self.set_next_scheduled_update()
feed.last_update = datetime.datetime.utcnow()
feed.set_next_scheduled_update()
try:
feed = Feed.objects.get(pk=self.pk)
feed = Feed.objects.get(pk=feed.pk)
except Feed.DoesNotExist:
# Feed has been merged after updating. Find the right feed.
duplicate_feeds = DuplicateFeed.objects.filter(duplicate_feed_id=self.pk)
duplicate_feeds = DuplicateFeed.objects.filter(duplicate_feed_id=feed.pk)
if duplicate_feeds:
feed = duplicate_feeds[0].feed
return feed
def add_update_stories(self, stories, existing_stories, verbose=False):

View file

@ -220,7 +220,6 @@ def exception_change_feed_address(request):
feed = feed.update()
feed = Feed.objects.get(pk=feed.pk)
usersub = UserSubscription.objects.get(user=request.user, feed=original_feed)
if usersub:
usersub.switch_feed(feed, original_feed)

View file

@ -180,7 +180,7 @@ class ProcessFeed:
self.fpf.entries = self.fpf.entries[:50]
if self.fpf.feed.get('title'):
self.feed.feed_title = self.fpf.feed['title']
self.feed.feed_title = self.fpf.feed.get('title')
tagline = self.fpf.feed.get('tagline', self.feed.data.feed_tagline)
if tagline:
self.feed.data.feed_tagline = utf8encode(tagline)
@ -409,6 +409,9 @@ class Dispatcher:
self.feed_stats[ret_feed] += 1
for key, val in ret_entries.items():
self.entry_stats[key] += val
if len(feed_queue) == 1:
return feed
# time_taken = datetime.datetime.utcnow() - self.time_start
@ -452,7 +455,7 @@ class Dispatcher:
def run_jobs(self):
if self.options['single_threaded']:
self.process_feed_wrapper(self.feeds_queue[0])
return self.process_feed_wrapper(self.feeds_queue[0])
else:
for i in range(self.num_threads):
feed_queue = self.feeds_queue[i]