]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/api/v1/format.py
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / nominatim / api / v1 / format.py
index 2442bb76a74aac562e867296782164b3386e394a..53156fdd41132ada43139546d36ec0e470590858 100644 (file)
@@ -9,6 +9,7 @@ Output formatters for API version v1.
 """
 from typing import List, Dict, Mapping, Any
 import collections
 """
 from typing import List, Dict, Mapping, Any
 import collections
+import datetime as dt
 
 import nominatim.api as napi
 from nominatim.api.result_formatting import FormatDispatcher
 
 import nominatim.api as napi
 from nominatim.api.result_formatting import FormatDispatcher
@@ -140,7 +141,7 @@ def _format_details_json(result: napi.DetailedResult, options: Mapping[str, Any]
     if result.address_rows is not None:
         _add_address_rows(out, 'address', result.address_rows, locales)
 
     if result.address_rows is not None:
         _add_address_rows(out, 'address', result.address_rows, locales)
 
-    if result.linked_rows is not None:
+    if result.linked_rows:
         _add_address_rows(out, 'linked_places', result.linked_rows, locales)
 
     if result.name_keywords is not None or result.address_keywords is not None:
         _add_address_rows(out, 'linked_places', result.linked_rows, locales)
 
     if result.name_keywords is not None or result.address_keywords is not None:
@@ -244,7 +245,10 @@ def _format_raw_data_json(results: RawDataList,  _: Mapping[str, Any]) -> str:
     for res in results:
         out.start_object()
         for k, v in res.items():
     for res in results:
         out.start_object()
         for k, v in res.items():
-            out.keyval(k, v)
+            if isinstance(v, dt.datetime):
+                out.keyval(k, v.isoformat(sep= ' ', timespec='seconds'))
+            else:
+                out.keyval(k, v)
         out.end_object().next()
 
     out.end_array()
         out.end_object().next()
 
     out.end_array()