json-repair 0.11.0__py3-none-any.whl → 0.12.0__py3-none-any.whl

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.
@@ -177,12 +177,16 @@ class JSONParser:
177
177
 
178
178
  # Flag to manage corner cases related to missing starting quote
179
179
  fixed_quotes = False
180
+ double_double_quotes = False
180
181
  lstring_delimiter = rstring_delimiter = '"'
181
182
  if isinstance(string_quotes, list):
182
183
  lstring_delimiter = string_quotes[0]
183
184
  rstring_delimiter = string_quotes[1]
184
185
  elif isinstance(string_quotes, str):
185
186
  lstring_delimiter = rstring_delimiter = string_quotes
187
+ if lstring_delimiter == '"' and self.get_char_at(1) == '"':
188
+ double_double_quotes = True
189
+ self.index += 1
186
190
  char = self.get_char_at()
187
191
  if char != lstring_delimiter:
188
192
  self.insert_char_at(lstring_delimiter)
@@ -216,6 +220,7 @@ class JSONParser:
216
220
  char = self.get_char_at()
217
221
  else:
218
222
  self.remove_char_at(-1)
223
+ self.index -= 1
219
224
  # ChatGPT sometimes forget to quote links in markdown like: { "content": "[LINK]("https://google.com")" }
220
225
  if (
221
226
  char == rstring_delimiter
@@ -241,6 +246,8 @@ class JSONParser:
241
246
  if char != rstring_delimiter:
242
247
  self.insert_char_at(rstring_delimiter)
243
248
  else:
249
+ if double_double_quotes:
250
+ self.index += 1
244
251
  self.index += 1
245
252
 
246
253
  return self.json_str[start:end]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: json_repair
3
- Version: 0.11.0
3
+ Version: 0.12.0
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
@@ -35,7 +35,7 @@ Requires-Python: >=3.7
35
35
  Description-Content-Type: text/markdown
36
36
  License-File: LICENSE
37
37
 
38
- This simple package can be used to repair a broken json file. To know all cases in which this package will work, check out the unit test.
38
+ This simple package can be used to fix an invalid json string. To know all cases in which this package will work, check out the unit test.
39
39
 
40
40
  Inspired by https://github.com/josdejong/jsonrepair
41
41
 
@@ -0,0 +1,7 @@
1
+ json_repair/__init__.py,sha256=p9mZnte8Bg18NcxqgJ7vopH2gQv_XbZ0dRnk686QuRE,92
2
+ json_repair/json_repair.py,sha256=zNamT7zlt0nl-isdXqgyiizmAYe0wiuZMV76t-7Kv8M,14313
3
+ json_repair-0.12.0.dist-info/LICENSE,sha256=wrjQo8MhNrNCicXtMe3MHmS-fx8AmQk1ue8AQwiiFV8,1076
4
+ json_repair-0.12.0.dist-info/METADATA,sha256=4oogqw_SdojZXacViq9ZU_Fl73JDxuJwkLDB7e5-3vE,6581
5
+ json_repair-0.12.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
6
+ json_repair-0.12.0.dist-info/top_level.txt,sha256=7-VZwZN2CgB_n0NlSLk-rEUFh8ug21lESbsblOYuZqw,12
7
+ json_repair-0.12.0.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- json_repair/__init__.py,sha256=p9mZnte8Bg18NcxqgJ7vopH2gQv_XbZ0dRnk686QuRE,92
2
- json_repair/json_repair.py,sha256=OP4xwWtbjBCWUiJjpiaME2XsdBRFyigRoFP5Eskz8Dg,14035
3
- json_repair-0.11.0.dist-info/LICENSE,sha256=wrjQo8MhNrNCicXtMe3MHmS-fx8AmQk1ue8AQwiiFV8,1076
4
- json_repair-0.11.0.dist-info/METADATA,sha256=-QEujDxdhGSiUF7tun741KxsjHOp1B0s7IWM6qnstr4,6580
5
- json_repair-0.11.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
6
- json_repair-0.11.0.dist-info/top_level.txt,sha256=7-VZwZN2CgB_n0NlSLk-rEUFh8ug21lESbsblOYuZqw,12
7
- json_repair-0.11.0.dist-info/RECORD,,