aggregators Package¶
base
Module¶
-
class
stream_framework.aggregators.base.
BaseAggregator
(aggregated_activity_class=None, activity_class=None)[source]¶ Bases:
object
Aggregators implement the combining of multiple activities into aggregated activities.
The two most important methods are aggregate and merge
Aggregate takes a list of activities and turns it into a list of aggregated activities
Merge takes two lists of aggregated activities and returns a list of new and changed aggregated activities
-
activity_class
¶ alias of
Activity
-
aggregate
(activities)[source]¶ Parameters: activties – A list of activities Returns list: A list of aggregated activities Runs the group activities (using get group) Ranks them using the giving ranking function And returns the sorted activities
Example
aggregator = ModulusAggregator() activities = [Activity(1), Activity(2)] aggregated_activities = aggregator.aggregate(activities)
-
aggregated_activity_class
¶ alias of
AggregatedActivity
-
group_activities
(activities)[source]¶ Groups the activities based on their group Found by running get_group(actvity on them)
-
merge
(aggregated, activities)[source]¶ Parameters: - aggregated – A list of aggregated activities
- activities – A list of the new activities
Returns tuple: Returns new, changed
Merges two lists of aggregated activities and returns the new aggregated activities and a from, to mapping of the changed aggregated activities
Example
aggregator = ModulusAggregator() activities = [Activity(1), Activity(2)] aggregated_activities = aggregator.aggregate(activities) activities = [Activity(3), Activity(4)] new, changed = aggregator.merge(aggregated_activities, activities) for activity in new: print activity for from, to in changed: print 'changed from %s to %s' % (from, to)
-
-
class
stream_framework.aggregators.base.
NotificationAggregator
(aggregated_activity_class=None, activity_class=None)[source]¶ Bases:
stream_framework.aggregators.base.RecentRankMixin
,stream_framework.aggregators.base.BaseAggregator
Aggregates based on the same verb, object and day
-
class
stream_framework.aggregators.base.
RecentRankMixin
[source]¶ Bases:
object
Most recently updated aggregated activities are ranked first.
-
class
stream_framework.aggregators.base.
RecentVerbAggregator
(aggregated_activity_class=None, activity_class=None)[source]¶ Bases:
stream_framework.aggregators.base.RecentRankMixin
,stream_framework.aggregators.base.BaseAggregator
Aggregates based on the same verb and same time period