formatting

This commit is contained in:
0xArty
2023-04-14 20:42:28 +01:00
parent a0e3c238a4
commit 328ba5e69e
40 changed files with 911 additions and 592 deletions

View File

@@ -1,5 +1,6 @@
import re
import json
import re
from autogpt.config import Config
cfg = Config()
@@ -17,7 +18,7 @@ def extract_char_position(error_message: str) -> int:
"""
import re
char_pattern = re.compile(r'\(char (\d+)\)')
char_pattern = re.compile(r"\(char (\d+)\)")
if match := char_pattern.search(error_message):
return int(match[1])
else:
@@ -38,10 +39,8 @@ def add_quotes_to_property_names(json_string: str) -> str:
def replace_func(match):
return f'"{match.group(1)}":'
property_name_pattern = re.compile(r'(\w+):')
corrected_json_string = property_name_pattern.sub(
replace_func,
json_string)
property_name_pattern = re.compile(r"(\w+):")
corrected_json_string = property_name_pattern.sub(replace_func, json_string)
try:
json.loads(corrected_json_string)
@@ -61,15 +60,15 @@ def balance_braces(json_string: str) -> str:
str: The JSON string with braces balanced.
"""
open_braces_count = json_string.count('{')
close_braces_count = json_string.count('}')
open_braces_count = json_string.count("{")
close_braces_count = json_string.count("}")
while open_braces_count > close_braces_count:
json_string += '}'
json_string += "}"
close_braces_count += 1
while close_braces_count > open_braces_count:
json_string = json_string.rstrip('}')
json_string = json_string.rstrip("}")
close_braces_count -= 1
try:
@@ -80,16 +79,15 @@ def balance_braces(json_string: str) -> str:
def fix_invalid_escape(json_str: str, error_message: str) -> str:
while error_message.startswith('Invalid \\escape'):
while error_message.startswith("Invalid \\escape"):
bad_escape_location = extract_char_position(error_message)
json_str = json_str[:bad_escape_location] + \
json_str[bad_escape_location + 1:]
json_str = json_str[:bad_escape_location] + json_str[bad_escape_location + 1 :]
try:
json.loads(json_str)
return json_str
except json.JSONDecodeError as e:
if cfg.debug_mode:
print('json loads error - fix invalid escape', e)
print("json loads error - fix invalid escape", e)
error_message = str(e)
return json_str
@@ -109,18 +107,20 @@ def correct_json(json_str: str) -> str:
return json_str
except json.JSONDecodeError as e:
if cfg.debug_mode:
print('json loads error', e)
print("json loads error", e)
error_message = str(e)
if error_message.startswith('Invalid \\escape'):
if error_message.startswith("Invalid \\escape"):
json_str = fix_invalid_escape(json_str, error_message)
if error_message.startswith('Expecting property name enclosed in double quotes'):
if error_message.startswith(
"Expecting property name enclosed in double quotes"
):
json_str = add_quotes_to_property_names(json_str)
try:
json.loads(json_str)
return json_str
except json.JSONDecodeError as e:
if cfg.debug_mode:
print('json loads error - add quotes', e)
print("json loads error - add quotes", e)
error_message = str(e)
if balanced_str := balance_braces(json_str):
return balanced_str