diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index eedacf130..d1d441b41 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -872,6 +872,7 @@ class Feed(models.Model): def trim_feed(self, verbose=False): from apps.reader.models import MUserStory + SUBSCRIBER_EXPIRE = datetime.datetime.now() - datetime.timedelta(days=settings.SUBSCRIBER_EXPIRE) trim_cutoff = 500 if self.active_subscribers <= 1 and self.premium_subscribers < 1: trim_cutoff = 100 @@ -898,7 +899,10 @@ class Feed(models.Model): extra_stories.delete() if verbose: print "Deleted %s stories, %s left." % (extra_stories_count, MStory.objects(story_feed_id=self.pk).count()) - userstories = MUserStory.objects(feed_id=self.pk, story_date__lte=story_trim_date) + + # Can't use the story_trim_date because some users may have shared stories from + # this feed, but the trim date isn't past the two weeks of unreads. + userstories = MUserStory.objects(feed_id=self.pk, story_date__lte=SUBSCRIBER_EXPIRE) if userstories.count(): if verbose: print "Found %s user stories. Deleting..." % userstories.count() diff --git a/apps/social/views.py b/apps/social/views.py index 6ba3ce6d2..3a8dbb307 100644 --- a/apps/social/views.py +++ b/apps/social/views.py @@ -305,6 +305,10 @@ def mark_story_as_shared(request): original_story_found = False story = MSharedStory.objects.filter(story_feed_id=feed_id, story_guid=story_id).limit(1).first() + if not story: + story = MStarredStory.objects.filter(story_feed_id=feed_id, + story_guid=story_id).limit(1).first() + if not story: return json.json_response(request, { 'code': -1,