mirror of
https://github.com/aljazceru/dev-gpt.git
synced 2025-12-25 01:14:24 +01:00
fix: package
This commit is contained in:
53
src/utils/string_tools.py
Normal file
53
src/utils/string_tools.py
Normal file
@@ -0,0 +1,53 @@
|
||||
import difflib
|
||||
|
||||
|
||||
def find_between(input_string, start, end):
|
||||
try:
|
||||
start_index = input_string.index(start) + len(start)
|
||||
end_index = input_string.index(end, start_index)
|
||||
return input_string[start_index:end_index]
|
||||
except ValueError:
|
||||
raise ValueError(f'Could not find {start} and {end} in {input_string}')
|
||||
|
||||
|
||||
def clean_content(content):
|
||||
return content.replace('```', '').strip()
|
||||
|
||||
def print_colored(headline, text, color_code, end='\n'):
|
||||
if color_code == 'black':
|
||||
color_code = '30'
|
||||
elif color_code == 'red':
|
||||
color_code = '31'
|
||||
elif color_code == 'green':
|
||||
color_code = '32'
|
||||
elif color_code == 'yellow':
|
||||
color_code = '33'
|
||||
elif color_code == 'blue':
|
||||
color_code = '34'
|
||||
elif color_code == 'magenta':
|
||||
color_code = '35'
|
||||
elif color_code == 'cyan':
|
||||
color_code = '36'
|
||||
elif color_code == 'white':
|
||||
color_code = '37'
|
||||
color_start = f"\033[{color_code}m"
|
||||
reset = "\033[0m"
|
||||
bold_start = "\033[1m"
|
||||
if headline:
|
||||
print(f"{bold_start}{color_start}{headline}{reset}")
|
||||
print(f"{color_start}{text}{reset}", end=end)
|
||||
|
||||
|
||||
def find_differences(a, b):
|
||||
matcher = difflib.SequenceMatcher(None, a, b)
|
||||
differences = set()
|
||||
|
||||
for tag, i1, i2, j1, j2 in matcher.get_opcodes():
|
||||
if tag == 'replace':
|
||||
diff_a = a[i1:i2]
|
||||
diff_b = b[j1:j2]
|
||||
# Check for mirrored results and only add non-mirrored ones
|
||||
if (diff_b, diff_a) not in differences:
|
||||
differences.add((diff_a, diff_b))
|
||||
|
||||
return differences
|
||||
Reference in New Issue
Block a user