cognite-toolkit 0.7.34__py3-none-any.whl → 0.7.36__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cognite_toolkit/_cdf_tk/apps/_download_app.py +2 -2
- cognite_toolkit/_cdf_tk/apps/_dump_app.py +1 -1
- cognite_toolkit/_cdf_tk/apps/_migrate_app.py +101 -0
- cognite_toolkit/_cdf_tk/builders/_raw.py +1 -1
- cognite_toolkit/_cdf_tk/client/_toolkit_client.py +9 -9
- cognite_toolkit/_cdf_tk/client/api/infield.py +16 -17
- cognite_toolkit/_cdf_tk/client/api/legacy/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/client/api/{canvas.py → legacy/canvas.py} +3 -4
- cognite_toolkit/_cdf_tk/client/api/{charts.py → legacy/charts.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/{extended_data_modeling.py → legacy/extended_data_modeling.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/{extended_files.py → legacy/extended_files.py} +2 -2
- cognite_toolkit/_cdf_tk/client/api/{extended_raw.py → legacy/extended_raw.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/{extended_timeseries.py → legacy/extended_timeseries.py} +5 -2
- cognite_toolkit/_cdf_tk/client/api/{location_filters.py → legacy/location_filters.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/__init__.py +8 -0
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/capabilities.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/data_postprocessing.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/frames.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/locations.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/maps.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/robots.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/{search_config.py → legacy/search_config.py} +5 -1
- cognite_toolkit/_cdf_tk/client/api/migration.py +2 -3
- cognite_toolkit/_cdf_tk/client/api/project.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/search.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/streams.py +3 -4
- cognite_toolkit/_cdf_tk/client/api/three_d.py +266 -13
- cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +13 -0
- cognite_toolkit/_cdf_tk/client/data_classes/base.py +6 -10
- cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +7 -7
- cognite_toolkit/_cdf_tk/client/data_classes/legacy/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/client/data_classes/{canvas.py → legacy/canvas.py} +1 -1
- cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +59 -0
- cognite_toolkit/_cdf_tk/client/testing.py +18 -16
- cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +3 -3
- cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +60 -12
- cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +120 -9
- cognite_toolkit/_cdf_tk/commands/_profile.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_purge.py +9 -11
- cognite_toolkit/_cdf_tk/commands/build_cmd.py +1 -1
- cognite_toolkit/_cdf_tk/commands/dump_resource.py +4 -4
- cognite_toolkit/_cdf_tk/commands/run.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +2 -2
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +22 -20
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +1 -1
- cognite_toolkit/_cdf_tk/resource_classes/search_config.py +1 -1
- cognite_toolkit/_cdf_tk/storageio/_applications.py +2 -2
- cognite_toolkit/_cdf_tk/storageio/_file_content.py +1 -2
- cognite_toolkit/_cdf_tk/storageio/_instances.py +1 -1
- cognite_toolkit/_cdf_tk/utils/cdf.py +1 -1
- cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +6 -0
- cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +1 -3
- cognite_toolkit/_cdf_tk/utils/interactive_select.py +4 -4
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
- cognite_toolkit/_resources/cdf.toml +1 -1
- cognite_toolkit/_version.py +1 -1
- {cognite_toolkit-0.7.34.dist-info → cognite_toolkit-0.7.36.dist-info}/METADATA +1 -1
- {cognite_toolkit-0.7.34.dist-info → cognite_toolkit-0.7.36.dist-info}/RECORD +100 -98
- cognite_toolkit/_cdf_tk/client/api/robotics/__init__.py +0 -3
- /cognite_toolkit/_cdf_tk/client/api/{dml.py → legacy/dml.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{extended_functions.py → legacy/extended_functions.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{fixed_transformations.py → legacy/fixed_transformations.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/api.py +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/utlis.py +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{apm_config_v1.py → legacy/apm_config_v1.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{charts.py → legacy/charts.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{extendable_cognite_file.py → legacy/extendable_cognite_file.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{extended_filemetadata.py → legacy/extended_filemetadata.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{extended_filemetdata.py → legacy/extended_filemetdata.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{extended_timeseries.py → legacy/extended_timeseries.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{functions.py → legacy/functions.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{graphql_data_models.py → legacy/graphql_data_models.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{instances.py → legacy/instances.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{location_filters.py → legacy/location_filters.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{migration.py → legacy/migration.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{pending_instances_ids.py → legacy/pending_instances_ids.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{project.py → legacy/project.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{raw.py → legacy/raw.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{robotics.py → legacy/robotics.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{search_config.py → legacy/search_config.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{sequences.py → legacy/sequences.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/data_classes/{streamlit_.py → legacy/streamlit_.py} +0 -0
- {cognite_toolkit-0.7.34.dist-info → cognite_toolkit-0.7.36.dist-info}/WHEEL +0 -0
- {cognite_toolkit-0.7.34.dist-info → cognite_toolkit-0.7.36.dist-info}/entry_points.txt +0 -0
|
@@ -2,7 +2,7 @@ from functools import lru_cache
|
|
|
2
2
|
|
|
3
3
|
from cognite.client.data_classes.data_modeling import ViewId
|
|
4
4
|
|
|
5
|
-
from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMappingApply
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.migration import ResourceViewMappingApply
|
|
6
6
|
|
|
7
7
|
ASSET_ID = "cdf_asset_mapping"
|
|
8
8
|
EVENT_ID = "cdf_event_mapping"
|
|
@@ -6,7 +6,7 @@ from cognite.client.utils._identifier import InstanceId
|
|
|
6
6
|
from cognite.client.utils._text import to_camel_case
|
|
7
7
|
from pydantic import BaseModel, Field, field_serializer
|
|
8
8
|
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.data_classes.migration import AssetCentricId
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.migration import AssetCentricId
|
|
10
10
|
from cognite_toolkit._cdf_tk.utils.useful_types import JsonVal
|
|
11
11
|
|
|
12
12
|
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
from collections.abc import Iterable, Iterator, Mapping, Sequence
|
|
2
|
-
from typing import ClassVar, cast
|
|
2
|
+
from typing import ClassVar, Literal, cast
|
|
3
3
|
|
|
4
4
|
from cognite.client.data_classes import Annotation
|
|
5
5
|
from cognite.client.data_classes.data_modeling import EdgeId, InstanceApply, NodeId
|
|
6
6
|
|
|
7
7
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
8
|
-
from cognite_toolkit._cdf_tk.client.data_classes.pending_instances_ids import PendingInstanceId
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.data_classes.three_d import
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.pending_instances_ids import PendingInstanceId
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.data_classes.three_d import (
|
|
10
|
+
AssetMappingDMRequest,
|
|
11
|
+
AssetMappingResponse,
|
|
12
|
+
ThreeDModelResponse,
|
|
13
|
+
)
|
|
10
14
|
from cognite_toolkit._cdf_tk.commands._migrate.data_classes import ThreeDMigrationRequest
|
|
11
15
|
from cognite_toolkit._cdf_tk.constants import MISSING_EXTERNAL_ID, MISSING_INSTANCE_SPACE
|
|
12
16
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitNotImplementedError, ToolkitValueError
|
|
@@ -14,6 +18,7 @@ from cognite_toolkit._cdf_tk.storageio import (
|
|
|
14
18
|
AnnotationIO,
|
|
15
19
|
HierarchyIO,
|
|
16
20
|
InstanceIO,
|
|
21
|
+
T_Selector,
|
|
17
22
|
UploadableStorageIO,
|
|
18
23
|
)
|
|
19
24
|
from cognite_toolkit._cdf_tk.storageio._base import Page, UploadItem
|
|
@@ -366,6 +371,14 @@ class AnnotationMigrationIO(
|
|
|
366
371
|
|
|
367
372
|
|
|
368
373
|
class ThreeDMigrationIO(UploadableStorageIO[ThreeDSelector, ThreeDModelResponse, ThreeDMigrationRequest]):
|
|
374
|
+
"""IO class for downloading and migrating 3D models.
|
|
375
|
+
|
|
376
|
+
Args:
|
|
377
|
+
client: The ToolkitClient to use for CDF interactions.
|
|
378
|
+
data_model_type: The type of 3D data model to download. Either "classic" or "DM".
|
|
379
|
+
|
|
380
|
+
"""
|
|
381
|
+
|
|
369
382
|
KIND = "3DMigration"
|
|
370
383
|
SUPPORTED_DOWNLOAD_FORMATS = frozenset({".ndjson"})
|
|
371
384
|
SUPPORTED_COMPRESSIONS = frozenset({".gz"})
|
|
@@ -375,9 +388,22 @@ class ThreeDMigrationIO(UploadableStorageIO[ThreeDSelector, ThreeDModelResponse,
|
|
|
375
388
|
UPLOAD_ENDPOINT = "/3d/migrate/models"
|
|
376
389
|
REVISION_ENDPOINT = "/3d/migrate/revisions"
|
|
377
390
|
|
|
391
|
+
def __init__(self, client: ToolkitClient, data_model_type: Literal["classic", "data modeling"] = "classic") -> None:
|
|
392
|
+
super().__init__(client)
|
|
393
|
+
self.data_model_type = data_model_type
|
|
394
|
+
|
|
378
395
|
def as_id(self, item: ThreeDModelResponse) -> str:
|
|
379
396
|
return f"{item.name}_{item.id!s}"
|
|
380
397
|
|
|
398
|
+
def _is_selected(self, item: ThreeDModelResponse, included_models: set[int] | None) -> bool:
|
|
399
|
+
return self._is_correct_type(item) and (included_models is None or item.id in included_models)
|
|
400
|
+
|
|
401
|
+
def _is_correct_type(self, item: ThreeDModelResponse) -> bool:
|
|
402
|
+
if self.data_model_type == "classic":
|
|
403
|
+
return item.space is None
|
|
404
|
+
else:
|
|
405
|
+
return item.space is not None
|
|
406
|
+
|
|
381
407
|
def stream_data(self, selector: ThreeDSelector, limit: int | None = None) -> Iterable[Page[ThreeDModelResponse]]:
|
|
382
408
|
published: bool | None = None
|
|
383
409
|
if isinstance(selector, ThreeDModelFilteredSelector):
|
|
@@ -392,12 +418,7 @@ class ThreeDMigrationIO(UploadableStorageIO[ThreeDSelector, ThreeDModelResponse,
|
|
|
392
418
|
response = self.client.tool.three_d.models.iterate(
|
|
393
419
|
published=published, include_revision_info=True, limit=request_limit, cursor=cursor
|
|
394
420
|
)
|
|
395
|
-
|
|
396
|
-
items = [
|
|
397
|
-
item
|
|
398
|
-
for item in response.items
|
|
399
|
-
if item.space is None and (included_models is None or item.id in included_models)
|
|
400
|
-
]
|
|
421
|
+
items = [item for item in response.items if self._is_selected(item, included_models)]
|
|
401
422
|
total += len(items)
|
|
402
423
|
if items:
|
|
403
424
|
yield Page(worker_id="main", items=items, next_cursor=response.next_cursor)
|
|
@@ -454,3 +475,93 @@ class ThreeDMigrationIO(UploadableStorageIO[ThreeDSelector, ThreeDModelResponse,
|
|
|
454
475
|
)
|
|
455
476
|
results.extend(revision.as_item_responses(data.source_id))
|
|
456
477
|
return results
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
class ThreeDAssetMappingMigrationIO(UploadableStorageIO[ThreeDSelector, AssetMappingResponse, AssetMappingDMRequest]):
|
|
481
|
+
KIND = "3DMigrationAssetMapping"
|
|
482
|
+
SUPPORTED_DOWNLOAD_FORMATS = frozenset({".ndjson"})
|
|
483
|
+
SUPPORTED_COMPRESSIONS = frozenset({".gz"})
|
|
484
|
+
SUPPORTED_READ_FORMATS = frozenset({".ndjson"})
|
|
485
|
+
DOWNLOAD_LIMIT = 1000
|
|
486
|
+
CHUNK_SIZE = 100
|
|
487
|
+
UPLOAD_ENDPOINT = "/3d/models/{modelId}/revisions/{revisionId}/mappings"
|
|
488
|
+
|
|
489
|
+
def __init__(self, client: ToolkitClient, object_3D_space: str, cad_node_space: str) -> None:
|
|
490
|
+
super().__init__(client)
|
|
491
|
+
self.object_3D_space = object_3D_space
|
|
492
|
+
self.cad_node_space = cad_node_space
|
|
493
|
+
# We can only migrate asset mappings for 3D models that are already migrated to data modeling.
|
|
494
|
+
self._3D_io = ThreeDMigrationIO(client, data_model_type="data modeling")
|
|
495
|
+
|
|
496
|
+
def as_id(self, item: AssetMappingResponse) -> str:
|
|
497
|
+
return f"AssetMapping_{item.model_id!s}_{item.revision_id!s}_{item.asset_id!s}"
|
|
498
|
+
|
|
499
|
+
def stream_data(self, selector: ThreeDSelector, limit: int | None = None) -> Iterable[Page[AssetMappingResponse]]:
|
|
500
|
+
total = 0
|
|
501
|
+
for three_d_page in self._3D_io.stream_data(selector, None):
|
|
502
|
+
for model in three_d_page.items:
|
|
503
|
+
if model.last_revision_info is None or model.last_revision_info.revision_id is None:
|
|
504
|
+
# No revisions, so no asset mappings to
|
|
505
|
+
continue
|
|
506
|
+
cursor: str | None = None
|
|
507
|
+
while True:
|
|
508
|
+
request_limit = (
|
|
509
|
+
min(self.DOWNLOAD_LIMIT, limit - total) if limit is not None else self.DOWNLOAD_LIMIT
|
|
510
|
+
)
|
|
511
|
+
if limit is not None and total >= limit:
|
|
512
|
+
return
|
|
513
|
+
response = self.client.tool.three_d.asset_mappings.iterate(
|
|
514
|
+
model_id=model.id,
|
|
515
|
+
revision_id=model.last_revision_info.revision_id,
|
|
516
|
+
cursor=cursor,
|
|
517
|
+
limit=request_limit,
|
|
518
|
+
)
|
|
519
|
+
items = response.items
|
|
520
|
+
total += len(items)
|
|
521
|
+
if items:
|
|
522
|
+
yield Page(worker_id="main", items=items, next_cursor=response.next_cursor)
|
|
523
|
+
if response.next_cursor is None:
|
|
524
|
+
break
|
|
525
|
+
cursor = response.next_cursor
|
|
526
|
+
|
|
527
|
+
def count(self, selector: ThreeDSelector) -> int | None:
|
|
528
|
+
# There is no efficient way to count 3D asset mappings in CDF.
|
|
529
|
+
return None
|
|
530
|
+
|
|
531
|
+
def upload_items(
|
|
532
|
+
self,
|
|
533
|
+
data_chunk: Sequence[UploadItem[AssetMappingDMRequest]],
|
|
534
|
+
http_client: HTTPClient,
|
|
535
|
+
selector: T_Selector | None = None,
|
|
536
|
+
) -> Sequence[HTTPMessage]:
|
|
537
|
+
"""Migrate 3D asset mappings by uploading them to the migrate/asset-mappings endpoint."""
|
|
538
|
+
if not data_chunk:
|
|
539
|
+
return []
|
|
540
|
+
# Assume all items in the chunk belong to the same model and revision, they should
|
|
541
|
+
# if the .stream_data method is used for downloading.
|
|
542
|
+
first = data_chunk[0]
|
|
543
|
+
model_id = first.item.model_id
|
|
544
|
+
revision_id = first.item.revision_id
|
|
545
|
+
endpoint = self.UPLOAD_ENDPOINT.format(modelId=model_id, revisionId=revision_id)
|
|
546
|
+
responses = http_client.request_with_retries(
|
|
547
|
+
ItemsRequest(
|
|
548
|
+
endpoint_url=self.client.config.create_api_url(endpoint),
|
|
549
|
+
method="POST",
|
|
550
|
+
items=list(data_chunk),
|
|
551
|
+
extra_body_fields={
|
|
552
|
+
"dmsContextualizationConfig": {
|
|
553
|
+
"object3DSpace": self.object_3D_space,
|
|
554
|
+
"cadNodeSpace": self.cad_node_space,
|
|
555
|
+
}
|
|
556
|
+
},
|
|
557
|
+
)
|
|
558
|
+
)
|
|
559
|
+
return responses
|
|
560
|
+
|
|
561
|
+
def json_to_resource(self, item_json: dict[str, JsonVal]) -> AssetMappingDMRequest:
|
|
562
|
+
raise NotImplementedError("Deserializing 3D Asset Mappings from JSON is not supported.")
|
|
563
|
+
|
|
564
|
+
def data_to_json_chunk(
|
|
565
|
+
self, data_chunk: Sequence[AssetMappingResponse], selector: ThreeDSelector | None = None
|
|
566
|
+
) -> list[dict[str, JsonVal]]:
|
|
567
|
+
raise NotImplementedError("Serializing 3D Asset Mappings to JSON is not supported.")
|
|
@@ -21,7 +21,7 @@ from rich.spinner import Spinner
|
|
|
21
21
|
from rich.table import Table
|
|
22
22
|
|
|
23
23
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
24
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawProfileResults, RawTable
|
|
24
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawProfileResults, RawTable
|
|
25
25
|
from cognite_toolkit._cdf_tk.constants import MAX_ROW_ITERATION_RUN_QUERY
|
|
26
26
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitMissingDependencyError, ToolkitThrottledError, ToolkitValueError
|
|
27
27
|
from cognite_toolkit._cdf_tk.utils.aggregators import (
|
|
@@ -16,6 +16,7 @@ from rich.console import Console
|
|
|
16
16
|
from rich.panel import Panel
|
|
17
17
|
|
|
18
18
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
19
|
+
from cognite_toolkit._cdf_tk.client.data_classes.instance_api import TypedInstanceIdentifier
|
|
19
20
|
from cognite_toolkit._cdf_tk.cruds import (
|
|
20
21
|
AssetCRUD,
|
|
21
22
|
ContainerCRUD,
|
|
@@ -59,10 +60,10 @@ from cognite_toolkit._cdf_tk.utils.aggregators import (
|
|
|
59
60
|
TimeSeriesAggregator,
|
|
60
61
|
)
|
|
61
62
|
from cognite_toolkit._cdf_tk.utils.http_client import (
|
|
62
|
-
FailedRequestItems,
|
|
63
|
-
FailedResponseItems,
|
|
64
63
|
HTTPClient,
|
|
65
64
|
ItemsRequest,
|
|
65
|
+
ItemsRequest2,
|
|
66
|
+
ItemsSuccessResponse2,
|
|
66
67
|
SuccessResponseItems,
|
|
67
68
|
)
|
|
68
69
|
from cognite_toolkit._cdf_tk.utils.producer_worker import ProducerWorkerExecutor
|
|
@@ -714,21 +715,18 @@ class PurgeCommand(ToolkitCommand):
|
|
|
714
715
|
results.deleted += len(items)
|
|
715
716
|
return
|
|
716
717
|
|
|
717
|
-
responses = delete_client.
|
|
718
|
-
|
|
719
|
-
delete_client.config.create_api_url("/models/instances/delete"),
|
|
718
|
+
responses = delete_client.request_items_retries(
|
|
719
|
+
ItemsRequest2(
|
|
720
|
+
endpoint_url=delete_client.config.create_api_url("/models/instances/delete"),
|
|
720
721
|
method="POST",
|
|
721
|
-
|
|
722
|
-
items=[DeleteItem(item=item, as_id_fun=InstanceId.load) for item in items], # type: ignore[arg-type]
|
|
722
|
+
items=[TypedInstanceIdentifier._load(item) for item in items],
|
|
723
723
|
)
|
|
724
724
|
)
|
|
725
725
|
for response in responses:
|
|
726
|
-
if isinstance(response,
|
|
726
|
+
if isinstance(response, ItemsSuccessResponse2):
|
|
727
727
|
results.deleted += len(response.ids)
|
|
728
|
-
elif isinstance(response, FailedResponseItems | FailedRequestItems):
|
|
729
|
-
results.failed += len(response.ids)
|
|
730
728
|
else:
|
|
731
|
-
results.failed += len(
|
|
729
|
+
results.failed += len(response.ids)
|
|
732
730
|
|
|
733
731
|
@staticmethod
|
|
734
732
|
def _unlink_timeseries(
|
|
@@ -14,7 +14,7 @@ from rich.progress import track
|
|
|
14
14
|
from cognite_toolkit._cdf_tk.builders import Builder, create_builder
|
|
15
15
|
from cognite_toolkit._cdf_tk.cdf_toml import CDFToml
|
|
16
16
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
17
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawDatabase
|
|
17
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawDatabase
|
|
18
18
|
from cognite_toolkit._cdf_tk.commands._base import ToolkitCommand
|
|
19
19
|
from cognite_toolkit._cdf_tk.constants import (
|
|
20
20
|
_RUNNING_IN_BROWSER,
|
|
@@ -52,10 +52,10 @@ from rich.console import Console
|
|
|
52
52
|
from rich.panel import Panel
|
|
53
53
|
|
|
54
54
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
55
|
-
from cognite_toolkit._cdf_tk.client.data_classes.location_filters import LocationFilterList
|
|
56
|
-
from cognite_toolkit._cdf_tk.client.data_classes.search_config import SearchConfigList
|
|
57
|
-
from cognite_toolkit._cdf_tk.client.data_classes.search_config import ViewId as SearchConfigViewId
|
|
58
|
-
from cognite_toolkit._cdf_tk.client.data_classes.streamlit_ import Streamlit, StreamlitList
|
|
55
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.location_filters import LocationFilterList
|
|
56
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.search_config import SearchConfigList
|
|
57
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.search_config import ViewId as SearchConfigViewId
|
|
58
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.streamlit_ import Streamlit, StreamlitList
|
|
59
59
|
from cognite_toolkit._cdf_tk.cruds import (
|
|
60
60
|
AgentCRUD,
|
|
61
61
|
ContainerCRUD,
|
|
@@ -30,7 +30,7 @@ from rich.progress import Progress
|
|
|
30
30
|
from rich.table import Table
|
|
31
31
|
|
|
32
32
|
from cognite_toolkit._cdf_tk.client import ToolkitClient, ToolkitClientConfig
|
|
33
|
-
from cognite_toolkit._cdf_tk.client.data_classes.functions import FunctionScheduleID
|
|
33
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.functions import FunctionScheduleID
|
|
34
34
|
from cognite_toolkit._cdf_tk.constants import _RUNNING_IN_BROWSER
|
|
35
35
|
from cognite_toolkit._cdf_tk.cruds import FunctionCRUD, FunctionScheduleCRUD, WorkflowVersionCRUD
|
|
36
36
|
from cognite_toolkit._cdf_tk.cruds._resource_cruds.workflow import WorkflowTriggerCRUD
|
|
@@ -6,8 +6,8 @@ from typing import TYPE_CHECKING, cast, final
|
|
|
6
6
|
import pandas as pd
|
|
7
7
|
from cognite.client.data_classes import FileMetadataWrite
|
|
8
8
|
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.data_classes.extendable_cognite_file import ExtendableCogniteFileApply
|
|
10
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawTable
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.extendable_cognite_file import ExtendableCogniteFileApply
|
|
10
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawTable
|
|
11
11
|
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING
|
|
12
12
|
from cognite_toolkit._cdf_tk.protocols import (
|
|
13
13
|
T_ResourceRequest,
|
|
@@ -41,7 +41,7 @@ from rich.console import Console
|
|
|
41
41
|
from rich.markup import escape
|
|
42
42
|
|
|
43
43
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
44
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawDatabase, RawTable
|
|
44
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawDatabase, RawTable
|
|
45
45
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
|
|
46
46
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitWrongResourceError
|
|
47
47
|
from cognite_toolkit._cdf_tk.resource_classes import GroupYAML, SecurityCategoriesYAML
|
|
@@ -24,7 +24,7 @@ from cognite.client.utils.useful_types import SequenceNotStr
|
|
|
24
24
|
from rich.console import Console
|
|
25
25
|
|
|
26
26
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
27
|
-
from cognite_toolkit._cdf_tk.client.data_classes.sequences import (
|
|
27
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.sequences import (
|
|
28
28
|
ToolkitSequenceRows,
|
|
29
29
|
ToolkitSequenceRowsList,
|
|
30
30
|
ToolkitSequenceRowsWrite,
|
|
@@ -7,7 +7,7 @@ from cognite.client.utils.useful_types import SequenceNotStr
|
|
|
7
7
|
from rich.console import Console
|
|
8
8
|
|
|
9
9
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
10
|
-
from cognite_toolkit._cdf_tk.client.data_classes.search_config import (
|
|
10
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.search_config import (
|
|
11
11
|
SearchConfig,
|
|
12
12
|
SearchConfigList,
|
|
13
13
|
SearchConfigWrite,
|
|
@@ -73,7 +73,7 @@ from rich.panel import Panel
|
|
|
73
73
|
|
|
74
74
|
from cognite_toolkit._cdf_tk import constants
|
|
75
75
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
76
|
-
from cognite_toolkit._cdf_tk.client.data_classes.graphql_data_models import (
|
|
76
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.graphql_data_models import (
|
|
77
77
|
GraphQLDataModel,
|
|
78
78
|
GraphQLDataModelList,
|
|
79
79
|
GraphQLDataModelWrite,
|
|
@@ -35,7 +35,7 @@ from cognite.client.data_classes.extractionpipelines import (
|
|
|
35
35
|
from cognite.client.exceptions import CogniteAPIError, CogniteDuplicatedError, CogniteNotFoundError
|
|
36
36
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
37
37
|
|
|
38
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawDatabase, RawTable
|
|
38
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawDatabase, RawTable
|
|
39
39
|
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING
|
|
40
40
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
|
|
41
41
|
from cognite_toolkit._cdf_tk.exceptions import (
|
|
@@ -8,17 +8,17 @@ from cognite.client.data_classes.data_modeling import NodeApplyResultList, NodeI
|
|
|
8
8
|
from cognite.client.exceptions import CogniteAPIError
|
|
9
9
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
10
10
|
|
|
11
|
-
from cognite_toolkit._cdf_tk.client.data_classes.apm_config_v1 import (
|
|
12
|
-
APMConfig,
|
|
13
|
-
APMConfigList,
|
|
14
|
-
APMConfigWrite,
|
|
15
|
-
)
|
|
16
11
|
from cognite_toolkit._cdf_tk.client.data_classes.infield import (
|
|
17
12
|
InFieldCDMLocationConfig,
|
|
18
13
|
InfieldLocationConfig,
|
|
19
14
|
InfieldLocationConfigList,
|
|
20
15
|
)
|
|
21
|
-
from cognite_toolkit._cdf_tk.client.data_classes.instance_api import InstanceResult,
|
|
16
|
+
from cognite_toolkit._cdf_tk.client.data_classes.instance_api import InstanceResult, TypedNodeIdentifier
|
|
17
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.apm_config_v1 import (
|
|
18
|
+
APMConfig,
|
|
19
|
+
APMConfigList,
|
|
20
|
+
APMConfigWrite,
|
|
21
|
+
)
|
|
22
22
|
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING
|
|
23
23
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
|
|
24
24
|
from cognite_toolkit._cdf_tk.resource_classes import (
|
|
@@ -246,7 +246,7 @@ class InfieldV1CRUD(ResourceCRUD[str, APMConfigWrite, APMConfig]):
|
|
|
246
246
|
|
|
247
247
|
|
|
248
248
|
@final
|
|
249
|
-
class InFieldLocationConfigCRUD(ResourceCRUD[
|
|
249
|
+
class InFieldLocationConfigCRUD(ResourceCRUD[TypedNodeIdentifier, InfieldLocationConfig, InfieldLocationConfig]):
|
|
250
250
|
folder_name = "cdf_applications"
|
|
251
251
|
resource_cls = InfieldLocationConfig
|
|
252
252
|
resource_write_cls = InfieldLocationConfig
|
|
@@ -260,13 +260,13 @@ class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConf
|
|
|
260
260
|
return "infield location configs"
|
|
261
261
|
|
|
262
262
|
@classmethod
|
|
263
|
-
def get_id(cls, item: InfieldLocationConfig | dict) ->
|
|
263
|
+
def get_id(cls, item: InfieldLocationConfig | dict) -> TypedNodeIdentifier:
|
|
264
264
|
if isinstance(item, dict):
|
|
265
|
-
return
|
|
266
|
-
return
|
|
265
|
+
return TypedNodeIdentifier(space=item["space"], external_id=item["externalId"])
|
|
266
|
+
return TypedNodeIdentifier(space=item.space, external_id=item.external_id)
|
|
267
267
|
|
|
268
268
|
@classmethod
|
|
269
|
-
def dump_id(cls, id:
|
|
269
|
+
def dump_id(cls, id: TypedNodeIdentifier) -> dict[str, Any]:
|
|
270
270
|
return id.dump(include_type=False)
|
|
271
271
|
|
|
272
272
|
@classmethod
|
|
@@ -308,13 +308,13 @@ class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConf
|
|
|
308
308
|
# as we only want to count the infield location configs here.
|
|
309
309
|
return [res for res in created if res.as_id() in config_ids]
|
|
310
310
|
|
|
311
|
-
def retrieve(self, ids: SequenceNotStr[
|
|
311
|
+
def retrieve(self, ids: SequenceNotStr[TypedNodeIdentifier]) -> InfieldLocationConfigList:
|
|
312
312
|
return InfieldLocationConfigList(self.client.infield.config.retrieve(list(ids)))
|
|
313
313
|
|
|
314
314
|
def update(self, items: Sequence[InfieldLocationConfig]) -> Sized:
|
|
315
315
|
return self.create(items)
|
|
316
316
|
|
|
317
|
-
def delete(self, ids: SequenceNotStr[
|
|
317
|
+
def delete(self, ids: SequenceNotStr[TypedNodeIdentifier]) -> int:
|
|
318
318
|
# We must retrieve the full resource to get hte DataExplorationConfig linked resource deleted as well.
|
|
319
319
|
retrieved = self.retrieve(list(ids))
|
|
320
320
|
# Then, we pass the entire resource to the delete method, which will delete both the InfieldLocationConfig
|
|
@@ -345,7 +345,9 @@ class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConf
|
|
|
345
345
|
|
|
346
346
|
|
|
347
347
|
@final
|
|
348
|
-
class InFieldCDMLocationConfigCRUD(
|
|
348
|
+
class InFieldCDMLocationConfigCRUD(
|
|
349
|
+
ResourceCRUD[TypedNodeIdentifier, InFieldCDMLocationConfig, InFieldCDMLocationConfig]
|
|
350
|
+
):
|
|
349
351
|
folder_name = "cdf_applications"
|
|
350
352
|
resource_cls = InFieldCDMLocationConfig
|
|
351
353
|
resource_write_cls = InFieldCDMLocationConfig
|
|
@@ -359,13 +361,13 @@ class InFieldCDMLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InFieldCDMLocati
|
|
|
359
361
|
return "infield CDM location configs"
|
|
360
362
|
|
|
361
363
|
@classmethod
|
|
362
|
-
def get_id(cls, item: InFieldCDMLocationConfig | dict) ->
|
|
364
|
+
def get_id(cls, item: InFieldCDMLocationConfig | dict) -> TypedNodeIdentifier:
|
|
363
365
|
if isinstance(item, dict):
|
|
364
|
-
return
|
|
365
|
-
return
|
|
366
|
+
return TypedNodeIdentifier(space=item["space"], external_id=item["externalId"])
|
|
367
|
+
return TypedNodeIdentifier(space=item.space, external_id=item.external_id)
|
|
366
368
|
|
|
367
369
|
@classmethod
|
|
368
|
-
def dump_id(cls, id:
|
|
370
|
+
def dump_id(cls, id: TypedNodeIdentifier) -> dict[str, Any]:
|
|
369
371
|
return id.dump(include_type=False)
|
|
370
372
|
|
|
371
373
|
@classmethod
|
|
@@ -397,13 +399,13 @@ class InFieldCDMLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InFieldCDMLocati
|
|
|
397
399
|
def create(self, items: Sequence[InFieldCDMLocationConfig]) -> list[InstanceResult]:
|
|
398
400
|
return self.client.infield.cdm_config.apply(items)
|
|
399
401
|
|
|
400
|
-
def retrieve(self, ids: SequenceNotStr[
|
|
402
|
+
def retrieve(self, ids: SequenceNotStr[TypedNodeIdentifier]) -> list[InFieldCDMLocationConfig]:
|
|
401
403
|
return self.client.infield.cdm_config.retrieve(list(ids))
|
|
402
404
|
|
|
403
405
|
def update(self, items: Sequence[InFieldCDMLocationConfig]) -> Sized:
|
|
404
406
|
return self.create(items)
|
|
405
407
|
|
|
406
|
-
def delete(self, ids: SequenceNotStr[
|
|
408
|
+
def delete(self, ids: SequenceNotStr[TypedNodeIdentifier]) -> int:
|
|
407
409
|
# We must retrieve the full resource to delete it.
|
|
408
410
|
retrieved = self.retrieve(list(ids))
|
|
409
411
|
_ = self.client.infield.cdm_config.delete(retrieved)
|
|
@@ -33,7 +33,7 @@ from cognite.client.utils._time import convert_data_modelling_timestamp
|
|
|
33
33
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
34
34
|
from rich import print
|
|
35
35
|
|
|
36
|
-
from cognite_toolkit._cdf_tk.client.data_classes.extendable_cognite_file import (
|
|
36
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.extendable_cognite_file import (
|
|
37
37
|
ExtendableCogniteFile,
|
|
38
38
|
ExtendableCogniteFileApply,
|
|
39
39
|
ExtendableCogniteFileList,
|
|
@@ -30,7 +30,7 @@ from rich import print
|
|
|
30
30
|
from rich.console import Console
|
|
31
31
|
|
|
32
32
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
33
|
-
from cognite_toolkit._cdf_tk.client.data_classes.functions import FunctionScheduleID
|
|
33
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.functions import FunctionScheduleID
|
|
34
34
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
|
|
35
35
|
from cognite_toolkit._cdf_tk.exceptions import (
|
|
36
36
|
ResourceCreationError,
|
|
@@ -14,7 +14,7 @@ from packaging.requirements import Requirement
|
|
|
14
14
|
from rich.console import Console
|
|
15
15
|
|
|
16
16
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
17
|
-
from cognite_toolkit._cdf_tk.client.data_classes.streamlit_ import (
|
|
17
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.streamlit_ import (
|
|
18
18
|
Streamlit,
|
|
19
19
|
StreamlitList,
|
|
20
20
|
StreamlitWrite,
|
|
@@ -7,7 +7,7 @@ from cognite.client.data_classes.capabilities import Capability, LocationFilters
|
|
|
7
7
|
from cognite.client.data_classes.data_modeling import DataModelId, ViewId
|
|
8
8
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
9
9
|
|
|
10
|
-
from cognite_toolkit._cdf_tk.client.data_classes.location_filters import (
|
|
10
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.location_filters import (
|
|
11
11
|
LocationFilter,
|
|
12
12
|
LocationFilterList,
|
|
13
13
|
LocationFilterWrite,
|
|
@@ -6,7 +6,7 @@ from cognite.client.data_classes.capabilities import Capability
|
|
|
6
6
|
from cognite.client.data_classes.data_modeling import NodeList, ViewId
|
|
7
7
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
8
8
|
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.data_classes.migration import (
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.migration import (
|
|
10
10
|
ResourceViewMapping,
|
|
11
11
|
ResourceViewMappingApply,
|
|
12
12
|
)
|
|
@@ -29,7 +29,7 @@ from rich import print
|
|
|
29
29
|
from rich.console import Console
|
|
30
30
|
|
|
31
31
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
32
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawDatabase, RawDatabaseList, RawTable, RawTableList
|
|
32
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawDatabase, RawDatabaseList, RawTable, RawTableList
|
|
33
33
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceContainerCRUD, ResourceCRUD
|
|
34
34
|
from cognite_toolkit._cdf_tk.resource_classes import DatabaseYAML, TableYAML
|
|
35
35
|
|
|
@@ -9,7 +9,7 @@ from cognite.client.data_classes.capabilities import Capability
|
|
|
9
9
|
from cognite.client.exceptions import CogniteAPIError
|
|
10
10
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
11
11
|
|
|
12
|
-
from cognite_toolkit._cdf_tk.client.data_classes.robotics import (
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.robotics import (
|
|
13
13
|
DataPostProcessing,
|
|
14
14
|
DataPostProcessingList,
|
|
15
15
|
DataPostProcessingWrite,
|
|
@@ -65,7 +65,7 @@ from rich import print
|
|
|
65
65
|
from rich.console import Console
|
|
66
66
|
|
|
67
67
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
68
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawDatabase, RawTable
|
|
68
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawDatabase, RawTable
|
|
69
69
|
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING
|
|
70
70
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
|
|
71
71
|
from cognite_toolkit._cdf_tk.exceptions import (
|
|
@@ -2,7 +2,7 @@ from typing import ClassVar
|
|
|
2
2
|
|
|
3
3
|
from pydantic import Field
|
|
4
4
|
|
|
5
|
-
from cognite_toolkit._cdf_tk.client.data_classes.search_config import SearchConfigWrite
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.search_config import SearchConfigWrite
|
|
6
6
|
|
|
7
7
|
from .base import BaseModelResource, ToolkitResource
|
|
8
8
|
|
|
@@ -2,11 +2,11 @@ from collections.abc import Iterable, Sequence
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
4
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
5
|
-
from cognite_toolkit._cdf_tk.client.data_classes.canvas import (
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.canvas import (
|
|
6
6
|
IndustrialCanvas,
|
|
7
7
|
IndustrialCanvasApply,
|
|
8
8
|
)
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.data_classes.charts import Chart, ChartList, ChartWrite
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.charts import Chart, ChartList, ChartWrite
|
|
10
10
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitNotImplementedError
|
|
11
11
|
from cognite_toolkit._cdf_tk.tk_warnings import HighSeverityWarning, MediumSeverityWarning
|
|
12
12
|
from cognite_toolkit._cdf_tk.utils.collection import chunker_sequence
|
|
@@ -145,8 +145,7 @@ class FileContentIO(UploadableStorageIO[FileContentSelector, MetadataWithFilePat
|
|
|
145
145
|
identifiers_map: dict[FileIdentifier, FileMetadata] = {}
|
|
146
146
|
for item in metadata:
|
|
147
147
|
if item.id is not None:
|
|
148
|
-
|
|
149
|
-
identifiers_map[FileInternalID(internal_id=item.id)] = item # type: ignore[call-arg]
|
|
148
|
+
identifiers_map[FileInternalID(internal_id=item.id)] = item
|
|
150
149
|
if item.external_id is not None:
|
|
151
150
|
identifiers_map[FileExternalID(external_id=item.external_id)] = item
|
|
152
151
|
if item.instance_id is not None:
|
|
@@ -17,7 +17,7 @@ from cognite.client.utils._identifier import InstanceId
|
|
|
17
17
|
|
|
18
18
|
from cognite_toolkit._cdf_tk import constants
|
|
19
19
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
20
|
-
from cognite_toolkit._cdf_tk.client.data_classes.instances import InstanceList
|
|
20
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.instances import InstanceList
|
|
21
21
|
from cognite_toolkit._cdf_tk.cruds import ContainerCRUD, SpaceCRUD, ViewCRUD
|
|
22
22
|
from cognite_toolkit._cdf_tk.utils import sanitize_filename
|
|
23
23
|
from cognite_toolkit._cdf_tk.utils.cdf import iterate_instances
|
|
@@ -21,7 +21,7 @@ from filelock import BaseFileLock, FileLock, Timeout
|
|
|
21
21
|
from rich.console import Console
|
|
22
22
|
|
|
23
23
|
from cognite_toolkit._cdf_tk.client import ToolkitClient, ToolkitClientConfig
|
|
24
|
-
from cognite_toolkit._cdf_tk.client.data_classes.raw import RawTable
|
|
24
|
+
from cognite_toolkit._cdf_tk.client.data_classes.legacy.raw import RawTable
|
|
25
25
|
from cognite_toolkit._cdf_tk.constants import ENV_VAR_PATTERN, MAX_ROW_ITERATION_RUN_QUERY, MAX_RUN_QUERY_FREQUENCY_MIN
|
|
26
26
|
from cognite_toolkit._cdf_tk.exceptions import (
|
|
27
27
|
ToolkitError,
|
|
@@ -76,6 +76,9 @@ class ErrorDetails:
|
|
|
76
76
|
class FailedRequestMessage(HTTPMessage):
|
|
77
77
|
error: str
|
|
78
78
|
|
|
79
|
+
def __str__(self) -> str:
|
|
80
|
+
return self.error
|
|
81
|
+
|
|
79
82
|
|
|
80
83
|
@dataclass
|
|
81
84
|
class ResponseMessage(HTTPMessage):
|
|
@@ -135,6 +138,9 @@ class FailedResponse(ResponseMessage):
|
|
|
135
138
|
output["error"] = self.error.dump()
|
|
136
139
|
return output
|
|
137
140
|
|
|
141
|
+
def __str__(self) -> str:
|
|
142
|
+
return f"{self.error.code} | {self.error.message}"
|
|
143
|
+
|
|
138
144
|
|
|
139
145
|
@dataclass
|
|
140
146
|
class SimpleRequest(RequestMessage):
|
|
@@ -26,9 +26,7 @@ class HTTPResult2(BaseModel):
|
|
|
26
26
|
if isinstance(self, SuccessResponse2):
|
|
27
27
|
return self
|
|
28
28
|
elif isinstance(self, FailedResponse2):
|
|
29
|
-
raise ToolkitAPIError(
|
|
30
|
-
f"Request failed with status code {self.status_code}: {self.error.code} - {self.error.message}"
|
|
31
|
-
)
|
|
29
|
+
raise ToolkitAPIError(f"Request failed with status code {self.status_code}: {self.error.message}")
|
|
32
30
|
elif isinstance(self, FailedRequest2):
|
|
33
31
|
raise ToolkitAPIError(f"Request failed with error: {self.error}")
|
|
34
32
|
else:
|