import re
import hashlib

def get_md5(val):
    val = val.strip("'\"")
    return hashlib.md5(val.encode('utf-8')).hexdigest()

input_file = r'c:\fuentes\proyectos delphi\RAUL_ASENCIO\documentacion raul asencio\recetas\PASTELERIAS-recetas-import.sql'

with open(input_file, 'r', encoding='utf-8') as f:
    content = f.read()

lines = content.split('\n')
new_lines = []

for line in lines:
    if "INSERT INTO `ob_recetas`" in line:
        m = re.search(r"VALUES\s*\(\s*'([a-f0-9]{32})'", line, re.IGNORECASE)
        if m:
            rid = m.group(1)
            new_lines.append(line)
            pid = get_md5(rid)
            new_lines.append(f"INSERT INTO `ob_recetas_procesos` (`id`, `receta_id`, `orden`, `nombre`, `proceso_final`) VALUES ('{pid}', '{rid}', 1, 'Proceso Principal', 1);")
        else:
            new_lines.append(line)
    elif "INSERT INTO `ob_recetas_ingredientes`" in line:
        line_mod = line.replace("`ob_recetas_ingredientes`", "`ob_procesos_ingredientes`")
        line_mod = line_mod.replace("`receta_id`", "`proceso_id`")
        
        m_val = re.search(r"VALUES\s*\(\s*'([a-f0-9]{32})'\s*,\s*'([a-f0-9]{32})'", line_mod, re.IGNORECASE)
        if m_val:
            ing_id = m_val.group(1)
            rid = m_val.group(2)
            pid = get_md5(rid)
            old_vals = f"'{ing_id}', '{rid}'"
            new_vals = f"'{ing_id}', '{pid}'"
            line_mod = line_mod.replace(old_vals, new_vals)
        new_lines.append(line_mod)
    else:
        new_lines.append(line)

output = '\n'.join(new_lines)
with open(input_file, 'w', encoding='utf-8') as f:
    f.write(output)

print("Migration completed successfully.")
