@@ -63,6 +63,7 @@ def enlist_element(
6363 self , item_id , raw_data , cleanup_inconsistent_bundle , parent_acc
6464 ):
6565 nb_deps = 1
66+ raw_nb_refs = 0
6667 if item_id not in raw_data :
6768 return 0
6869
@@ -79,6 +80,7 @@ def enlist_element(
7980 if key .endswith ("_refs" ) and item [key ] is not None :
8081 to_keep = []
8182 for element_ref in item [key ]:
83+ raw_nb_refs += 1
8284 # We need to check if this ref is not already a reference
8385 is_missing_ref = raw_data .get (element_ref ) is None
8486 must_be_cleaned = is_missing_ref and cleanup_inconsistent_bundle
@@ -105,6 +107,7 @@ def enlist_element(
105107 to_keep .append (element_ref )
106108 item [key ] = to_keep
107109 elif key .endswith ("_ref" ):
110+ raw_nb_refs += 1
108111 is_missing_ref = raw_data .get (value ) is None
109112 must_be_cleaned = is_missing_ref and cleanup_inconsistent_bundle
110113 not_dependency_ref = (
@@ -131,6 +134,7 @@ def enlist_element(
131134 item [key ] = None
132135 # Case for embedded elements (deduplicating and cleanup)
133136 elif key == "external_references" and item [key ] is not None :
137+ raw_nb_refs += 1
134138 # specific case of splitting external references
135139 # reference_ids = []
136140 deduplicated_references = []
@@ -157,6 +161,7 @@ def enlist_element(
157161 # nb_deps += self.enlist_element(reference_id, raw_data)
158162 item [key ] = deduplicated_references
159163 elif key == "kill_chain_phases" and item [key ] is not None :
164+ raw_nb_refs += 1
160165 # specific case of splitting kill_chain phases
161166 # kill_chain_ids = []
162167 deduplicated_kill_chain = []
@@ -198,7 +203,7 @@ def enlist_element(
198203 )
199204 else :
200205 is_compatible = is_id_supported (item_id )
201- if 0 < self .objects_max_deps <= nb_deps :
206+ if 0 < self .objects_max_deps <= raw_nb_refs :
202207 self .too_large_elements .append (item )
203208 elif is_compatible :
204209 self .elements .append (item )
0 commit comments