"""Inspect any PEZAJOB SQLite database."""
import sqlite3
import sys
from pathlib import Path


def inspect(path):
    path = Path(path)
    if not path.exists():
        print(f'Missing: {path}')
        return False
    conn = sqlite3.connect(path)
    cur = conn.cursor()
    cur.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")
    tables = [r[0] for r in cur.fetchall() if not r[0].startswith('sqlite_')]
    print(f'\n=== {path} ({path.stat().st_size // 1024} KB, {len(tables)} tables) ===')
    for table in tables:
        try:
            cur.execute(f'SELECT COUNT(*) FROM [{table}]')
            count = cur.fetchone()[0]
            if count:
                print(f'  {table}: {count}')
        except sqlite3.Error as exc:
            print(f'  {table}: error {exc}')
    conn.close()
    return True


if __name__ == '__main__':
    target = sys.argv[1] if len(sys.argv) > 1 else 'db.sqlite3'
    inspect(target)
