Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit e2ba045

Browse files
author
Samuel Hassine
committed
[client] Fix some stream catching issues
1 parent 42b15ee commit e2ba045

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

pycti/connector/opencti_connector_helper.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,20 @@ def get_range(self, from_id):
225225
def run(self):
226226
if self.connector_last_event_id:
227227
from_event_id = self.connector_last_event_id
228-
from_event_timestamp = 0
228+
# If from event ID is "-", start from the beginning
229+
if from_event_id == "-":
230+
from_event_timestamp = 0
231+
# If from event ID is a "pure" timestamp
232+
elif "-" not in str(from_event_id):
233+
from_event_timestamp = int(from_event_id)
234+
elif "-" in str(from_event_id):
235+
from_event_timestamp = int(str(from_event_id).split("-")[0])
236+
else:
237+
from_event_timestamp = 0
229238
last_event_timestamp = int(self.last_event_id.split("-")[0])
239+
if from_event_timestamp > last_event_timestamp:
240+
from_event_timestamp = last_event_timestamp - 1
241+
from_event_id = str(from_event_timestamp) + "-0"
230242
while (
231243
from_event_timestamp <= last_event_timestamp
232244
and from_event_id != self.last_event_id

pycti/utils/opencti_stix2.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,6 @@ def prepare_export(
997997
mode="simple",
998998
max_marking_definition_entity=None,
999999
no_custom_attributes=False,
1000-
description_as_id=False,
10011000
):
10021001
if (
10031002
self.check_max_marking_definition(
@@ -1029,19 +1028,12 @@ def prepare_export(
10291028
del entity["createdBy"]
10301029
del entity["createdById"]
10311030

1032-
if description_as_id:
1033-
if "description" in entity:
1034-
entity["description"] = entity["id"]
1035-
elif "x_opencti_description" in entity:
1036-
if no_custom_attributes:
1037-
entity["description"] = entity["id"]
1038-
else:
1039-
entity["x_opencti_description"] = entity["id"]
1040-
else:
1041-
entity["description"] = entity["id"]
1042-
10431031
entity_copy = entity.copy()
10441032
if no_custom_attributes:
1033+
if "observables" in entity:
1034+
del entity["observables"]
1035+
if "observablesIds" in entity:
1036+
del entity["observablesIds"]
10451037
if "external_references" in entity:
10461038
del entity["external_references"]
10471039
for key in entity_copy.keys():
@@ -1334,7 +1326,6 @@ def export_entity(
13341326
mode="simple",
13351327
max_marking_definition=None,
13361328
no_custom_attributes=False,
1337-
description_as_id=False,
13381329
):
13391330
max_marking_definition_entity = (
13401331
self.opencti.marking_definition.read(id=max_marking_definition)
@@ -1384,7 +1375,6 @@ def export_entity(
13841375
mode,
13851376
max_marking_definition_entity,
13861377
no_custom_attributes,
1387-
description_as_id,
13881378
)
13891379
if stix_objects is not None:
13901380
bundle["objects"].extend(stix_objects)

0 commit comments

Comments
 (0)