MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / merge_tasks

Method merge_tasks

client/node/quicktask/quickscan.py:109–129  ·  view source on GitHub ↗

将新task列表添加到原有task参数列表中,合并去重,一个工具只保留一个task

(task_list, new_tasks)

Source from the content-addressed store, hash-verified

107
108 @staticmethod
109 def merge_tasks(task_list, new_tasks):
110 """将新task列表添加到原有task参数列表中,合并去重,一个工具只保留一个task"""
111 task_dict = {}
112 for task in task_list:
113 task_name = task["task_name"]
114 task_dict[task_name] = task
115
116 for task in new_tasks:
117 task_name = task["task_name"]
118 if task_name in task_dict:
119 new_rule_list = task["task_params"]["rule_list"]
120 rule_list = task_dict[task_name]["task_params"]["rule_list"]
121 task_dict[task_name]["task_params"]["rule_list"] = QuickScan.merge_rule_list(rule_list, new_rule_list)
122
123 new_rules = task["task_params"]["rules"]
124 rules = task_dict[task_name]["task_params"]["rules"]
125 rules.extend(new_rules)
126 task_dict[task_name]["task_params"]["rules"] = list(set(rules))
127 else:
128 task_dict[task_name] = task
129 return list(task_dict.values())
130
131 @staticmethod
132 def merge_rule_list(rule_list, new_rule_list):

Callers 1

get_scan_tasksMethod · 0.80

Calls 2

merge_rule_listMethod · 0.80
valuesMethod · 0.45

Tested by

no test coverage detected