Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 428bbe2c3d | |||
| 0ca22891bc |
@@ -51,4 +51,10 @@ def open_ifc(file_path: str) -> file:
|
||||
|
||||
|
||||
def create_geometry_iterator(ifc_file: file | sqlite) -> iterator:
|
||||
return iterator(_create_iterator_settings(), ifc_file, multiprocessing.cpu_count())
|
||||
GEOMETRY_LIBRARY = "hybrid-opencascade-cgal" # First OCC then fallback to CGAL
|
||||
return iterator(
|
||||
_create_iterator_settings(),
|
||||
ifc_file,
|
||||
multiprocessing.cpu_count(),
|
||||
geometry_library=GEOMETRY_LIBRARY, # type: ignore
|
||||
)
|
||||
|
||||
@@ -26,6 +26,10 @@ class ModelIngestionResource(CoreResource):
|
||||
metrics.track(metrics.SDK, self.account, {"name": "Ingestion Create"})
|
||||
return super().create(input)
|
||||
|
||||
def get_ingestion(self, project_id: str, model_ingestion_id: str) -> ModelIngestion:
|
||||
metrics.track(metrics.SDK, self.account, {"name": "Ingestion Get"})
|
||||
return super().get_ingestion(project_id, model_ingestion_id)
|
||||
|
||||
def update_progress(self, input: ModelIngestionUpdateInput) -> ModelIngestion:
|
||||
metrics.track(metrics.SDK, self.account, {"name": "Ingestion Update"})
|
||||
return super().update_progress(input)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Any, Optional, Tuple
|
||||
from typing import Any, Tuple
|
||||
|
||||
from gql import Client, gql
|
||||
|
||||
@@ -30,7 +30,7 @@ class ModelIngestionResource(ResourceBase):
|
||||
account: Account,
|
||||
basepath: str,
|
||||
client: Client,
|
||||
server_version: Optional[Tuple[Any, ...]],
|
||||
server_version: Tuple[Any, ...] | None,
|
||||
) -> None:
|
||||
super().__init__(
|
||||
account=account,
|
||||
@@ -40,24 +40,23 @@ class ModelIngestionResource(ResourceBase):
|
||||
server_version=server_version,
|
||||
)
|
||||
|
||||
def get_ingestion(self, project_id: str, model_id: str) -> ModelIngestion:
|
||||
def get_ingestion(self, project_id: str, model_ingestion_id: str) -> ModelIngestion:
|
||||
QUERY = gql(
|
||||
"""
|
||||
query Query($projectId: String!, $modelId: String!) {
|
||||
query Query($projectId: String!, $modelIngestionId: ID!) {
|
||||
data:project(id: $projectId) {
|
||||
data:model(id: $modelId) {
|
||||
data:ingestion {
|
||||
id
|
||||
createdAt
|
||||
modelId
|
||||
cancellationRequested
|
||||
statusData {
|
||||
... on HasModelIngestionStatus {
|
||||
status
|
||||
}
|
||||
... on HasProgressMessage {
|
||||
progressMessage
|
||||
}
|
||||
data:ingestion(id: $modelIngestionId) {
|
||||
id
|
||||
createdAt
|
||||
updatedAt
|
||||
modelId
|
||||
cancellationRequested
|
||||
statusData {
|
||||
... on HasModelIngestionStatus {
|
||||
status
|
||||
}
|
||||
... on HasProgressMessage {
|
||||
progressMessage
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68,14 +67,14 @@ class ModelIngestionResource(ResourceBase):
|
||||
|
||||
variables = {
|
||||
"projectId": project_id,
|
||||
"modelId": model_id,
|
||||
"modelIngestionId": model_ingestion_id,
|
||||
}
|
||||
|
||||
return self.make_request_and_parse_response(
|
||||
DataResponse[DataResponse[DataResponse[ModelIngestion]]],
|
||||
DataResponse[DataResponse[ModelIngestion]],
|
||||
QUERY,
|
||||
variables,
|
||||
).data.data.data
|
||||
).data.data
|
||||
|
||||
def create(self, input: ModelIngestionCreateInput) -> ModelIngestion:
|
||||
QUERY = gql(
|
||||
|
||||
@@ -79,6 +79,15 @@ class TestIngestionResource:
|
||||
|
||||
return ingestion
|
||||
|
||||
def test_get_ingestion(
|
||||
self, client: SpeckleClient, project: Project, ingestion: ModelIngestion
|
||||
):
|
||||
queried_ingestion = client.model_ingestion.get_ingestion(
|
||||
project.id, ingestion.id
|
||||
)
|
||||
assert queried_ingestion.id == ingestion.id
|
||||
assert queried_ingestion.status_data.status == ingestion.status_data.status
|
||||
|
||||
def test_update_progress(
|
||||
self, client: SpeckleClient, ingestion: ModelIngestion, project: Project
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user