import os
from pathlib import Path

from dawsonia.digitize import digitize_book
from dawsonia.io import all_books, get_year

cwd = Path(__file__).parent.parent
os.chdir(cwd)
log_path = cwd / "log"
log_path.mkdir(exist_ok=True)

zarrs = list(all_books(cwd / "data" / "raw_zarr", ".zarr.zip"))

print("Digitizing", len(zarrs), "Zarr files ...")
for zarr_file in zarrs:
    try:
        year = get_year(zarr_file)
    except IOError:
        continue

    start_date = f"{year}-01-01"
    end_date = f"{year}-12-31"

    print("Digitizing", zarr_file)
    try:
        digitize_book(
            zarr_file,
            start_date,
            end_date,
            model_path=cwd / "data/models/dawsonia/2024-03-29",
            output_path=cwd / "digitized",
            table_fmt_dir=cwd / "table_formats",
            verbose=True,
        )
    except Exception as err:
        print(f"FAILED! {err}")
    else:
        print("SUCCESS!")
