More graceful checks for shared stories when trimming.

This commit is contained in:
Samuel Clay 2014-04-03 16:25:18 -07:00
parent 5f11b64956
commit 26b661fdb5

View file

@ -1713,29 +1713,29 @@ class MStory(mongo.Document):
feed = feed_id
stories = cls.objects(
story_feed_id=feed_id,
share_count__not__gte=1
story_feed_id=feed_id
).only('story_date').order_by('-story_date')
shared_story_count = cls.objects(story_feed_id=feed_id, share_count__gte=1).count()
if stories.count() > cutoff:
logging.debug(' ---> [%-30s] ~FMFound %s (+%s shared) stories. Trimming to ~SB%s~SN...' %
(unicode(feed)[:30], stories.count(), shared_story_count, cutoff))
logging.debug(' ---> [%-30s] ~FMFound %s stories. Trimming to ~SB%s~SN...' %
(unicode(feed)[:30], stories.count(), cutoff))
try:
story_trim_date = stories[cutoff].story_date
except IndexError, e:
logging.debug(' ***> [%-30s] ~BRError trimming feed: %s' % (unicode(feed)[:30], e))
return extra_stories_count
extra_stories = MStory.objects(story_feed_id=feed_id,
story_date__lte=story_trim_date)
extra_stories = cls.objects(story_feed_id=feed_id,
story_date__lte=story_trim_date)
extra_stories_count = extra_stories.count()
shared_story_count = 0
for story in extra_stories:
if story.share_count: continue
if story.share_count:
shared_story_count += 1
continue
story.delete()
if verbose:
existing_story_count = MStory.objects(story_feed_id=feed_id).count()
existing_story_count = cls.objects(story_feed_id=feed_id).count()
logging.debug(" ---> Deleted %s stories, %s (%s shared) left." % (
extra_stories_count,
existing_story_count,