#!/usr/bin/env python

__author__ = "Damon May"

import argparse
from jamstats.io.scoreboard_json_io import load_derby_game_from_json_file
from jamstats.io import tsv_io


parser = argparse.ArgumentParser()
parser.add_argument('jsonfile', type=argparse.FileType('r'),
                    help='Scoreboard json file to convert')
parser.add_argument('tsvfile', type=argparse.FileType('w'), nargs='?',
                    default=None,
                    help='.tsv file to write')
args = parser.parse_args()



print(f"Loading game from {args.jsonfile.name}")
derby_game = load_derby_game_from_json_file(args.jsonfile.name)

if args.tsvfile is None:
    if args.jsonfile.name.lower().endswith(".json"):
        print(f"Output filepath not provided. "
              f"Using input filepath with extension .txt instead of {args.jsonfile.name[-5:]}")
        tsv_filepath = args.jsonfile.name[:-len(".json")] + ".txt"
    else:
        print("Input file doesn't end with .json, so refusing to guess what output file you want."
              "  Please rename your input file or specify an output filepath.")
else:
    tsv_filepath = args.tsvfile.name
    args.tsvfile.close()

tsv_io.write_game_data_tsv(derby_game, tsv_filepath)
print(f"Wrote {tsv_filepath}.")
