#!/usr/bin/env python

import sys
import sqlite3
from pmtiles.writer import write

if len(sys.argv) <= 2:
    print("Usage: mbtiles2pmtiles MBTILES_FILE PMTILES_FILE")
    exit(1)

conn = sqlite3.connect(sys.argv[1])
cursor = conn.cursor()

with write(sys.argv[2]) as writer:
    for row in cursor.execute('SELECT zoom_level,tile_column,tile_row,tile_data FROM tiles ORDER BY zoom_level,tile_column,tile_row ASC'):
        writer.write_tile(row[0],row[1],row[2],row[3])

    metadata = {}
    for row in cursor.execute('SELECT name,value FROM metadata'):
        metadata[row[0]] = row[1]
    result = writer.finalize(metadata)
    print("Num tiles:",result['num_tiles'])
    print("Num unique tiles:",result['num_unique_tiles'])
    print("Num leaves:",result['num_leaves'])

conn.close()