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

Commit 4a353ce

Browse files
[client] Error when importing text files or PDFs (#643)
1 parent f9c4dd5 commit 4a353ce

File tree

8 files changed

+177
-247
lines changed

8 files changed

+177
-247
lines changed

examples/export_incident_stix2.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
)
2424

2525
# Create the bundle
26-
bundle = opencti_api_client.stix2.export_entity("Incident", incident["id"], "full")
26+
bundle = opencti_api_client.stix2.get_stix_bundle_or_object_from_entity_id(
27+
entity_type="Incident", entity_id=incident["id"], mode="full"
28+
)
2729
json_bundle = json.dumps(bundle, indent=4)
2830

2931
# Write the bundle

examples/export_intrusion_set_stix2.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
opencti_api_client = OpenCTIApiClient(api_url, api_token)
1313

1414
# Create the bundle
15-
bundle = opencti_api_client.stix2.export_entity(
16-
"Intrusion-Set", "4ecc2f52-d10a-4e10-bb9b-1ab5df2b282e", "full"
15+
bundle = opencti_api_client.stix2.get_stix_bundle_or_object_from_entity_id(
16+
entity_type="Intrusion-Set",
17+
entity_id="4ecc2f52-d10a-4e10-bb9b-1ab5df2b282e",
18+
mode="full",
1719
)
1820
json_bundle = json.dumps(bundle, indent=4)
1921

examples/export_report_stix2.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
opencti_api_client = OpenCTIApiClient(api_url, api_token)
1313

1414
# Create the bundle
15-
bundle = opencti_api_client.stix2.export_entity(
16-
"Report", "report--2dc2b918-a0a3-569e-a305-f784486003c2", "full"
15+
bundle = opencti_api_client.stix2.get_stix_bundle_or_object_from_entity_id(
16+
entity_type="Report",
17+
entity_id="report--2dc2b918-a0a3-569e-a305-f784486003c2",
18+
mode="full",
1719
)
1820
json_bundle = json.dumps(bundle, indent=4)
1921

pycti/connector/opencti_connector_helper.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,9 @@ def _data_handler(self, json_data) -> None:
314314
# If not playbook but enrichment, compute object on enrichment_entity
315315
opencti_entity = event_data["enrichment_entity"]
316316
stix_objects = self.helper.api.stix2.prepare_export(
317-
self.helper.api.stix2.generate_export(copy.copy(opencti_entity))
317+
entity=self.helper.api.stix2.generate_export(
318+
copy.copy(opencti_entity)
319+
)
318320
)
319321
stix_entity = [
320322
e
@@ -1567,7 +1569,7 @@ def get_data_from_enrichment(self, data, standard_id, opencti_entity):
15671569
if bundle is None:
15681570
# Generate bundle
15691571
stix_objects = self.api.stix2.prepare_export(
1570-
self.api.stix2.generate_export(copy.copy(opencti_entity))
1572+
entity=self.api.stix2.generate_export(copy.copy(opencti_entity))
15711573
)
15721574
else:
15731575
stix_objects = bundle["objects"]

pycti/entities/opencti_intrusion_set.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -275,17 +275,15 @@ def list(self, **kwargs):
275275
}
276276
"""
277277
)
278-
result = self.opencti.query(
279-
query,
280-
{
281-
"filters": filters,
282-
"search": search,
283-
"first": first,
284-
"after": after,
285-
"orderBy": order_by,
286-
"orderMode": order_mode,
287-
},
288-
)
278+
variables = {
279+
"filters": filters,
280+
"search": search,
281+
"first": first,
282+
"after": after,
283+
"orderBy": order_by,
284+
"orderMode": order_mode,
285+
}
286+
result = self.opencti.query(query, variables)
289287
if get_all:
290288
final_data = []
291289
data = self.opencti.process_multiple(result["data"]["intrusionSets"])

pycti/entities/opencti_stix_domain_object.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1355,8 +1355,10 @@ def push_list_export(
13551355
)
13561356

13571357
def push_entity_export(
1358-
self, entity_id, file_name, data, file_markings, mime_type=None
1358+
self, entity_id, file_name, data, file_markings=None, mime_type=None
13591359
):
1360+
if file_markings is None:
1361+
file_markings = []
13601362
query = """
13611363
mutation StixDomainObjectEdit(
13621364
$id: ID!, $file: Upload!,

pycti/entities/opencti_stix_object_or_stix_relationship.py

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,7 @@ def list(self, **kwargs):
513513
search = kwargs.get("search", None)
514514
first = kwargs.get("first", 100)
515515
after = kwargs.get("after", None)
516+
get_all = kwargs.get("getAll", False)
516517
with_pagination = kwargs.get("with_pagination", False)
517518
custom_attributes = kwargs.get("customAttributes", None)
518519

@@ -542,16 +543,40 @@ def list(self, **kwargs):
542543
}
543544
"""
544545
)
546+
variables = {
547+
"filters": filters,
548+
"search": search,
549+
"first": first,
550+
"after": after,
551+
}
545552
result = self.opencti.query(
546553
query,
547-
{
548-
"filters": filters,
549-
"search": search,
550-
"first": first,
551-
"after": after,
552-
},
554+
variables,
553555
)
554556

555-
return self.opencti.process_multiple(
556-
result["data"]["stixObjectOrStixRelationships"], with_pagination
557-
)
557+
if get_all:
558+
final_data = []
559+
data = self.opencti.process_multiple(
560+
result["data"]["stixObjectOrStixRelationships"]
561+
)
562+
final_data = final_data + data
563+
while result["data"]["stixObjectOrStixRelationships"]["pageInfo"][
564+
"hasNextPage"
565+
]:
566+
after = result["data"]["stixObjectOrStixRelationships"]["pageInfo"][
567+
"endCursor"
568+
]
569+
self.opencti.app_logger.info(
570+
"Listing stixObjectOrStixRelationships", {"after": after}
571+
)
572+
after_variables = {**variables, **{"after": after}}
573+
result = self.opencti.query(query, after_variables)
574+
data = self.opencti.process_multiple(
575+
result["data"]["stixObjectOrStixRelationships"]
576+
)
577+
final_data = final_data + data
578+
return final_data
579+
else:
580+
return self.opencti.process_multiple(
581+
result["data"]["stixObjectOrStixRelationships"], with_pagination
582+
)

0 commit comments

Comments
 (0)