#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import csv
rows = list(csv.DictReader(open("preview_movimientos.csv", encoding="utf-8-sig")))

def show(title, pred, n=15):
    sel = [r for r in rows if pred(r)]
    tot = sum(int(r["monto"]) for r in sel)
    print(f"== {title} ==  ({len(sel)} mov, ${tot:,})")
    for r in sorted(sel, key=lambda x: -int(x["monto"]))[:n]:
        print(f"  {r['fecha']} {r['cuenta']:<11} ${int(r['monto']):>9,} {r['contacto'][:24]:<24} [{r['metodo']}]")
    print()

show("INGRESOS SUELTOS sin pedido (con nombre)", lambda r: r["metodo"] == "ingreso-suelto")
show("INGRESOS ANONIMOS sueltos sin doc", lambda r: r["metodo"] == "ingreso-anon-suelto")
show("EGRESOS sin factura", lambda r: r["metodo"] == "egreso-sin-doc", 12)
