From 434f712cbfd58bbe2c8da6dab18be9b6c40cefd8 Mon Sep 17 00:00:00 2001 From: KatKatKateryna Date: Thu, 26 Sep 2024 14:19:59 +0100 Subject: [PATCH] deserialized error fixed --- pygeoapi/provider/speckle.py | 5 ++--- pygeoapi/provider/speckle_utils/patch/server.py | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/pygeoapi/provider/speckle.py b/pygeoapi/provider/speckle.py index 99ae89c..c1ace02 100644 --- a/pygeoapi/provider/speckle.py +++ b/pygeoapi/provider/speckle.py @@ -111,7 +111,7 @@ class SpeckleProvider(BaseProvider): print(completed_process.stderr) raise Exception(m) - patch_specklepy() + patch_specklepy() # assign global values @@ -399,9 +399,8 @@ class SpeckleProvider(BaseProvider): ) print(f"____{datetime.now().astimezone(timezone.utc)} _Rendering model '{branch['name']}' of the project '{stream['name']}'") - speckle_data = self.traverse_data(commit_obj, comments) - set_actions(self, client) + speckle_data = self.traverse_data(commit_obj, comments) speckle_data["features"].extend(speckle_data["comments"]) speckle_data["comments"] = [] diff --git a/pygeoapi/provider/speckle_utils/patch/server.py b/pygeoapi/provider/speckle_utils/patch/server.py index bfef494..78cf1e0 100644 --- a/pygeoapi/provider/speckle_utils/patch/server.py +++ b/pygeoapi/provider/speckle_utils/patch/server.py @@ -168,8 +168,23 @@ class ServerTransport(AbstractTransport): # iter through returned objects saving them as we go target_transport.begin_write() all_lines = [line for _,line in enumerate(lines)] + + # fix wrongly split lines for i, line in enumerate(all_lines): - if line: + if line and i!= 0 and (len(line)<=10 or'"id": "' not in line[:10]): + # find the last line with ID + matching_index = -1 + for k, id_line in enumerate(all_lines): + if k10 and '"id": "' in line[:10]: hash = line.split('"id": "')[1].split('"')[0] obj = "{" + line + "}" if i==0: