Hi !
Objective
Receive alluvium, siltstone, basement, alignment
and excavation
from Weka Hills Leapfrog Demo Model (public) using specklepy
.
Issue
My code
from specklepy.api.client import SpeckleClient
from specklepy.core.api import operations
from specklepy.transports.server import ServerTransport
weka_hills_speckle_project_id = "7a489ac0d4"
speckle_client = SpeckleClient(host="app.speckle.systems")
transport = ServerTransport(
stream_id=weka_hills_speckle_project_id, client=speckle_client
)
weka_hills_speckle_models = speckle_client.model.get_models(
project_id=weka_hills_speckle_project_id
)
speckle_models_w_versions = {}
for model in weka_hills_speckle_models.items:
speckle_model = speckle_client.model.get_with_versions(
model_id=model.id,
project_id=weka_hills_speckle_project_id,
)
if "geo/geology-model" in model.name:
geological_unit = str(model.name).replace("geo/geology-model/", "")
speckle_models_w_versions[geological_unit] = speckle_model
print(f"{geological_unit}: {model.id}")
elif "tunnel" in model.name:
tunnel_model = str(model.name).replace("tunnel/", "")
speckle_models_w_versions[tunnel_model] = speckle_model
print(f"{tunnel_model}: {model.id}")
model_data = operations.receive(
# speckle_models_w_versions["alluvium"].versions.items[0].referencedObject,
# speckle_models_w_versions["alignment"].versions.items[0].referencedObject,
speckle_models_w_versions["excavation"].versions.items[0].referencedObject,
transport,
)
returns the error
Traceback (most recent call last):
File "%HOMEPATH%\ReposWindows\IFC5-development\Geotech\receive_from_speckle.py", line 31, in <module>
model_data = operations.receive(
^^^^^^^^^^^^^^^^^^^
File "%HOMEPATH%\ReposWindows\IFC5-development\.venv\Lib\site-packages\specklepy\core\api\operations.py", line 86, in receive
obj_string = remote_transport.copy_object_and_children(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "%HOMEPATH%\ReposWindows\IFC5-development\.venv\Lib\site-packages\specklepy\transports\server\server.py", line 172, in copy_object_and_children
hash, obj = line.split("\t")
^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
At first I only got this error when trying to receive the "excavation"
.
My issue sounded very similar to the issues described in
so I deleted the cache through the Speckle Manager and removed the Objects.db in %APPDATA%\Speckle
, but now I’m getting that ValueError: not enough values to unpack
with everything I’m trying to receive.
Thanks a bunch in advance for the help