with open('/tmp/scpi_agent_batch.py', 'r') as f:
    lines = f.readlines()

# Find lines 96-102 (0-indexed 95-101) and replace them
new_lines = []
skip_until = -1
for i, line in enumerate(lines):
    if i < skip_until:
        continue
    if '# Build name -> URL map' in line:
        new_lines.append(line)
        new_lines.append('URL_MAP = {}\n')
        new_lines.append('for name, iid in MANUAL_URLS.items():\n')
        new_lines.append('    slug = name.lower()\n')
        new_lines.append('    for c in "éèêëâàîïôûüç":\n')
        new_lines.append('        slug = slug.replace(c, "e" if c in "éèêë" else "a" if c in "âà" else "i" if c in "îï" else "o" if c in "ô" else "u" if c in "ûü" else "c")\n')
        new_lines.append("    slug = slug.replace(\"'\", '').replace(' ', '-').replace('(', '').replace(')', '')\n")
        new_lines.append('    URL_MAP[name] = f"https://www.ideal-investisseur.fr/scpi-avis/{slug}-{iid}.html"\n')
        # Skip old lines until we hit the URL_MAP assignment or next section
        skip_until = i + 1
        while skip_until < len(lines) and '# === STEP 3' not in lines[skip_until]:
            skip_until += 1
        continue
    new_lines.append(line)

with open('/tmp/scpi_agent_batch.py', 'w') as f:
    f.writelines(new_lines)

print(f"Wrote {len(new_lines)} lines")
