From 95ad43a29964a9b09338d2a1facaf31560576615 Mon Sep 17 00:00:00 2001 From: Tommaso Barbugli Date: Fri, 18 Oct 2013 16:22:22 +0200 Subject: [PATCH] make sure the fix slice does not break aggregations in many singles --- feedly/feeds/aggregated_feed/realtime.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/feedly/feeds/aggregated_feed/realtime.py b/feedly/feeds/aggregated_feed/realtime.py index 7c3d9717..872c4d74 100644 --- a/feedly/feeds/aggregated_feed/realtime.py +++ b/feedly/feeds/aggregated_feed/realtime.py @@ -66,11 +66,18 @@ def fix_aggregation_slice(self, selected_aggregations, excluded_activities): if min(selected_activities) > most_recent_not_selected_activity: return selected_aggregations + orphaned_aggregations = [] + for aggregated in selected_aggregations: for activity in aggregated.activities: if activity < most_recent_not_selected_activity: aggregated.remove(activity) - return selected_aggregations + if len(aggregated.activities) == 1: + orphaned_aggregations.append(aggregated) + + selected_aggregations = [a for a in selected_aggregations if a not in orphaned_aggregations] + selected_aggregations = self.get_aggregator().merge(selected_aggregations, not_selected_activities)[0] + return self.fix_aggregation_slice(selected_aggregations, excluded_activities) def get_activity_slice(self, start=None, stop=None, rehydrate=True): if start not in (0, None):