#!/usr/bin/env python

import sys
from pmtiles.reader import read

if len(sys.argv) <= 1:
    print("Usage: pmtiles-show PMTILES_FILE")
    print("Usage: pmtiles-show PMTILES_FILE Z X Y")
    print("Usage: pmtiles-show PMTILES_FILE list")
    exit(1)

with read(sys.argv[1]) as reader:
    if len(sys.argv) == 2:
        print('spec version: ',reader.version)
        print('metadata:')
        for k, v in reader.metadata.items():
            print(k,'=',v)
        print('root entries:', reader.root_entries)
        print('leaf directories:', len(set(reader.leaves.values())))
    elif len(sys.argv) == 3:
        for k,v in reader.root_dir.items():
            print(f"{k[0]} {k[1]} {k[2]} {v[0]} {v[1]}")
        for val in set(reader.leaves.values()):
            leaf_dir, _ = reader.load_directory(val[0],val[1]//17)
            for k,v in leaf_dir.items():
                print(f"{k[0]} {k[1]} {k[2]} {v[0]} {v[1]}")
    else:
        z = int(sys.argv[2])
        x = int(sys.argv[3])
        y = int(sys.argv[4])
        print(reader.get(z,x,y))
