@@ -38,8 +38,6 @@ def merge_advisories(advisories):
3838
3939 advisories = list (advisories )
4040
41- print (len (advisories ))
42-
4341 content_hash_map = defaultdict (list )
4442 result_groups = []
4543
@@ -77,18 +75,15 @@ def merge_advisories(advisories):
7775def get_merged_identifier_groups (advisories ):
7876
7977 identifier_groups = defaultdict (set )
80- advisory_to_identifiers = defaultdict (set )
8178
8279 advisories = list (advisories )
8380
8481 for adv in advisories :
8582
8683 identifier_groups [adv .advisory_id ].add (adv )
87- advisory_to_identifiers [adv ].add (adv .advisory_id )
8884
89- for alias in adv .aliases .all ():
90- identifier_groups [alias .alias ].add (adv )
91- advisory_to_identifiers [adv ].add (alias .alias )
85+ for alias in adv .aliases .values_list ("alias" , flat = True ):
86+ identifier_groups [alias ].add (adv )
9287
9388 groups = [set (advs ) for advs in identifier_groups .values () if len (advs ) > 1 ]
9489
@@ -134,13 +129,26 @@ def get_merged_identifier_groups(advisories):
134129
135130def group_advisoris_for_packages (logger = None ):
136131 for package in PackageV2 .objects .iterator ():
137- affecting_advisories = AdvisoryV2 .objects .latest_affecting_advisories_for_purl (
138- purl = package .purl
139- ).prefetch_related ("aliases" )
132+ print (package )
133+ affecting_advisories = (
134+ AdvisoryV2 .objects
135+ .latest_affecting_advisories_for_purl (purl = package .purl )
136+ .prefetch_related (
137+ "aliases" ,
138+ "impacted_packages__affecting_packages" ,
139+ "impacted_packages__fixed_by_packages" ,
140+ )
141+ )
140142
141- fixed_by_advisories = AdvisoryV2 .objects .latest_fixed_by_advisories_for_purl (
142- purl = package .purl
143- ).prefetch_related ("aliases" )
143+ fixed_by_advisories = (
144+ AdvisoryV2 .objects
145+ .latest_fixed_by_advisories_for_purl (purl = package .purl )
146+ .prefetch_related (
147+ "aliases" ,
148+ "impacted_packages__affecting_packages" ,
149+ "impacted_packages__fixed_by_packages" ,
150+ )
151+ )
144152
145153 try :
146154 delete_and_save_advisory_set (package , affecting_advisories , relation = "affecting" )
0 commit comments