Skip to content

Commit 2cf20e3

Browse files
committed
[client] add raw_nb_refs computation
1 parent 9bde7f8 commit 2cf20e3

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

pycti/utils/opencti_stix2_splitter.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)