From 02ba89f6ef4d00b343d20dc6dcdd7753f7a66d76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sabine=20Schr=C3=B6der?= <s.schroeder@fz-juelich.de>
Date: Sat, 3 Oct 2020 03:35:23 +0200
Subject: [PATCH] #21: bug fix (this is a workaraound for related crashs)

---
 toardb/timeseries/crud.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/toardb/timeseries/crud.py b/toardb/timeseries/crud.py
index 04dc438..95c6b4f 100644
--- a/toardb/timeseries/crud.py
+++ b/toardb/timeseries/crud.py
@@ -6,6 +6,7 @@ Create, Read, Update, Delete functionality
 
 from sqlalchemy import insert
 from sqlalchemy.orm import Session
+from geoalchemy2.elements import WKBElement, WKTElement
 from fastapi.responses import JSONResponse
 from . import models
 from .models import timeseries_timeseries_roles_table, \
@@ -34,7 +35,8 @@ def get_all_timeseries(db: Session, skip : int = 0, limit: int = None):
         # there is a mismatch with additional_metadata
         db_object.additional_metadata = str(db_object.additional_metadata).replace("'",'"')
         # there is also a mismatch with coordinates and additional_metadata from station object
-        db_object.station.coordinates = get_coordinates_from_geom(db_object.station.coordinates)
+        if isinstance(db_object.station.coordinates, (WKBElement, WKTElement)):
+            db_object.station.coordinates = get_coordinates_from_geom(db_object.station.coordinates)
         db_object.station.additional_metadata = str(db_object.station.additional_metadata).replace("'",'"')
     return db_objects
 
-- 
GitLab