json-repair 0.15.2__tar.gz → 0.15.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: json_repair
3
- Version: 0.15.2
3
+ Version: 0.15.3
4
4
  Summary: A package to repair broken json strings
5
5
  Author-email: Stefano Baccianella <4247706+mangiucugna@users.noreply.github.com>
6
6
  License: MIT License
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0"]
3
3
  build-backend = "setuptools.build_meta"
4
4
  [project]
5
5
  name = "json_repair"
6
- version = "0.15.2"
6
+ version = "0.15.3"
7
7
  license = {file = "LICENSE"}
8
8
  authors = [
9
9
  { name="Stefano Baccianella", email="4247706+mangiucugna@users.noreply.github.com" },
@@ -78,7 +78,7 @@ class JSONParser:
78
78
  elif char == "“":
79
79
  return self.parse_string(string_quotes=["“", "”"])
80
80
  # <number> starts with [0-9] or minus
81
- elif char.isdigit() or char == "-":
81
+ elif char.isdigit() or char == "-" or char == ".":
82
82
  return self.parse_number()
83
83
  # <boolean> could be (T)rue or (F)alse or (N)ull
84
84
  elif char.lower() in ["t", "f", "n"]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: json_repair
3
- Version: 0.15.2
3
+ Version: 0.15.3
4
4
  Summary: A package to repair broken json strings
5
5
  Author-email: Stefano Baccianella <4247706+mangiucugna@users.noreply.github.com>
6
6
  License: MIT License
@@ -111,6 +111,7 @@ def test_repair_json():
111
111
  assert repair_json('{"key":"",}') == '{"key": ",}"}'
112
112
  assert repair_json('{ "words": abcdef", "numbers": 12345", "words2": ghijkl" }') == '{"words": "abcdef", "numbers": 12345, "words2": "ghijkl"}'
113
113
  assert repair_json('{"key": 1/3}') == '{"key": "1/3"}'
114
+ assert repair_json('{"key": .25}') == '{"key": 0.25}'
114
115
 
115
116
 
116
117
  def test_repair_json_with_objects():
@@ -256,12 +257,14 @@ def test_repair_json_corner_cases_generate_by_gpt_with_objects():
256
257
  assert repair_json('{"key": 10-20}', True) == {"key": "10-20"}
257
258
  assert repair_json('{"key": 1.1.1}', True) == {"key": "1.1.1"}
258
259
 
260
+
259
261
  def test_repair_json_skip_json_loads():
260
262
  assert repair_json('{"key": true, "key2": false, "key3": null}', skip_json_loads=True) == '{"key": true, "key2": false, "key3": null}'
261
263
  assert repair_json('{"key": true, "key2": false, "key3": null}', return_objects=True, skip_json_loads=True) == {"key": True, "key2": False, "key3": None}
262
264
  assert repair_json('{"key": true, "key2": false, "key3": }', skip_json_loads=True) == '{"key": true, "key2": false, "key3": ""}'
263
265
  assert loads('{"key": true, "key2": false, "key3": }', skip_json_loads=True) == {"key": True, "key2": False, "key3": ""}
264
266
 
267
+
265
268
  def test_repair_json_from_file():
266
269
  import os
267
270
  import tempfile
File without changes
File without changes
File without changes