#!python

import argparse
import sys
from hestia_earth.utils.lsrs.render_excel import render, render_from_files


def main():
    parser = argparse.ArgumentParser(description="Convert LSRS JSON file(s) to Excel")
    parser.add_argument("--filepath", type=str, help="Path of the single JSON file on disk.")
    parser.add_argument("--folder", type=str, help="Path of the folder containing multiple .json files.")
    parser.add_argument("--output", type=str, help="Path of the output Excel file.")
    args = parser.parse_args()

    if args.folder:
        output_file = args.output or f"{args.folder.rstrip('/')}.xlsx"
        render_from_files(args.folder, output_file)
        print("Excel file written at", output_file)
    elif args.filepath:
        import json
        with open(args.filepath) as f:
            data = json.load(f)

        output_file = args.output or args.filepath.replace(".json", ".xlsx")
        render(data, output_file)
        print("Excel file written at", output_file)
    else:
        print("Please provide either --filepath or --folder")
        sys.exit(1)


if __name__ == "__main__":
    main()
