q-and-a-tool-custom-logo / utils /check_pydantic_version.py
hkoppen's picture
Upload 23 files
7ca3dfa verified
raw
history blame contribute delete
No virus
1.1 kB
import pydantic
import os
import fileinput
def replace_string_in_files(folder_path, old_str, new_str):
for subdir, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(subdir, file)
# Check if the file is a text file (you can modify this condition based on your needs)
if file.endswith(".txt") or file.endswith(".py"):
# Open the file in place for editing
with fileinput.FileInput(file_path, inplace=True) as f:
for line in f:
# Replace the old string with the new string
print(line.replace(old_str, new_str), end='')
def use_pydantic_v1():
module_file_path = pydantic.__file__
module_file_path = module_file_path.split('pydantic')[0] + 'haystack'
with open(module_file_path+'/schema.py','r') as f:
haystack_schema_file = f.read()
if 'from pydantic.v1' not in haystack_schema_file:
replace_string_in_files(module_file_path, 'from pydantic', 'from pydantic.v1')