import re

# Read the settings file
with open('src/core/settings.py', 'r') as f:
    content = f.read()

# Replace config() calls with os.environ.get()
replacements = [
    (r'config\("([^"]+)",\s*default="([^"]*)"(?:,\s*cast=str)?\)', r'os.environ.get("\1", "\2")'),
    (r'config\("([^"]+)",\s*default=(\d+)(?:,\s*cast=int)?\)', r'int(os.environ.get("\1", "\2"))'),
    (r'config\("([^"]+)",\s*default=([^,)]+)(?:,\s*cast=int)?\)', r'int(os.environ.get("\1", "\2"))'),
    (r'config\("([^"]+)",\s*default=([^,)]+)(?:,\s*cast=bool)?\)', r'os.environ.get("\1", "\2").lower() == "true"'),
    (r'config\(\s*"([^"]+)",\s*default=([^,)]+),\s*cast=Csv\(\)\)', r'os.environ.get("\1", "\2").split(",")'),
    (r'config\(\s*"([^"]+)",\s*default=([^,)]+)\)', r'os.environ.get("\1", "\2")'),
    (r'config\(\s*"([^"]+)"\s*,\s*default=([^,)]+)\)', r'os.environ.get("\1", "\2")'),
]

for pattern, replacement in replacements:
    content = re.sub(pattern, replacement, content)

# Write the modified content back
with open('src/core/settings.py', 'w') as f:
    f.write(content)

print("Settings file updated successfully!")
