]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/utils/json_writer.py
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / nominatim / utils / json_writer.py
index e2e5b9e6c8bfd1644c7ca7c10e87052b5bd3f218..fcc355d5eee9fa2331ad47e47eb2a4ac18dac078 100644 (file)
@@ -76,8 +76,8 @@ class JsonWriter:
     def end_array(self) -> 'JsonWriter':
         """ Write the closing bracket of a JSON array.
         """
-        assert self.pending in (',', '[', '')
-        if self.pending == '[':
+        assert self.pending in (',', '[', ']', ')', '')
+        if self.pending not in (',', ''):
             self.data.write(self.pending)
         self.pending = ']'
         return self
@@ -101,6 +101,11 @@ class JsonWriter:
         return self.raw(json.dumps(value, ensure_ascii=False))
 
 
+    def float(self, value: float, precision: int) -> 'JsonWriter':
+        """ Write out a float value with the given precision.
+        """
+        return self.raw(f"{value:0.{precision}f}")
+
     def next(self) -> 'JsonWriter':
         """ Write out a delimiter comma between JSON object or array elements.
         """