#!/usr/bin/env python2

import sqlite3

conn = sqlite3.connect("pokedex/data/pokedex.sqlite")

cur = conn.execute(
    """select p.id, p.name, pf.name
    from pokemon p
    join evolution_chains ec on p.evolution_chain_id = ec.id
    left join pokemon_forms pf on p.id = pf.unique_pokemon_id
    order by ec.id, is_baby = 0, coalesce(pf.form_base_pokemon_id, p.id),
             pf."order", pf.name
    ;""")

idmap = []

for i, row in enumerate(cur):
    idmap.append((1 + i, row[0]))

conn.executemany(
    """update pokemon set "order" = ? where id = ?""",
    idmap,
)

conn.commit()