def handle_results_collected(self, signal, sender, results, context, **kw):
name_value_pairs = list(map(self.to_name_value_pair, results))
self.ensure_unique_names(name_value_pairs)
def get_data(*parts):
d = self.data
for p in parts:
d.setdefault(p, {})
d = d[p]
return d
def handle_result(name, result):
d = get_data(sender.id_, sender.type_name)
current = d.get(name, None)
if current is None or current.value < result:
# TODO: once serialization, no need to deepcopy
d[name] = Result(value=result, context=copy.deepcopy(context))
for name, result in name_value_pairs:
handle_result(name, result)
评论列表
文章目录