import re
import os
files_to_fix = []
for root, dirs, files in os.walk('src/service'):
for file in files:
if file.endswith('.rs'):
filepath = os.path.join(root, file)
try:
with open(filepath, 'r') as f:
content = f.read()
if 'Config {' in content:
files_to_fix.append(filepath)
except:
pass
print(f'Found {len(files_to_fix)} files to fix')
fixed_files = 0
for filepath in files_to_fix:
try:
with open(filepath, 'r') as f:
content = f.read()
original_content = content
content = re.sub(
r'Config \{\s*app_id: "([^"]+)"\.to_string\(\),\s*app_secret: "([^"]+)"\.to_string\(\),\s*\.\.Default::default\(\)\s*\}',
r'Config::builder().app_id("\1").app_secret("\2").build()',
content,
flags=re.MULTILINE | re.DOTALL
)
content = re.sub(
r'Config \{\s*app_id: "([^"]+)"\.to_string\(\),\s*app_secret: "([^"]+)"\.to_string\(\),\s*app_type: AppType::([^,\s]+),\s*\.\.Default::default\(\)\s*\}',
r'Config::builder().app_id("\1").app_secret("\2").app_type(AppType::\3).build()',
content,
flags=re.MULTILINE | re.DOTALL
)
content = re.sub(
r'Config \{\s*app_id: "([^"]+)"\.to_string\(\),\s*\.\.Default::default\(\)\s*\}',
r'Config::builder().app_id("\1").build()',
content,
flags=re.MULTILINE | re.DOTALL
)
if content != original_content:
with open(filepath, 'w') as f:
f.write(content)
fixed_files += 1
print(f'Fixed: {filepath}')
except Exception as e:
print(f'Error processing {filepath}: {e}')
print(f'Fixed {fixed_files} files automatically')