in mozci/push.py [0:0]
def __make_group_summary_objects(tasks):
"""Generates a list of GroupSummary objects from a list of tasks.
Args:
tasks (list): List of Task objects.
Returns:
list: List of GroupSummary objects.
"""
# Make a mapping keyed by group name containing list of Task objects.
tasks_by_config = defaultdict(lambda: defaultdict(list))
for task in tasks:
for result in task.results:
# Build the mapping of group to the group durations and TestTask objects.
tasks_by_config[task.configuration][result.group].append(task)
return [
GroupSummary(key, tasks)
for config in tasks_by_config.keys()
for key, tasks in tasks_by_config[config].items()
]