#!/usr/bin/env python3

import sys,os
repo_root = os.path.split(os.path.abspath(os.path.dirname(sys.argv[0])))[0]
sys.path = [repo_root] + sys.path

from mmgen.cfg import Config
from mmgen.util import msg,Msg,make_chksum_6
from mmgen.fileutil import get_lines_from_file

opts_data = {
	'text': {
		'desc': 'Compute checksum for a MMGen data file',
		'usage':'[opts] infile',
		'options': """
-h, --help               Print this help message.
-i, --include-first-line Include the first line of the file (you probably don't want this)
"""
	}
}

cfg = Config(opts_data=opts_data)

lines = get_lines_from_file( cfg, cfg._args[0] )
start = (1,0)[bool(cfg.include_first_line)]
a = make_chksum_6(' '.join(lines[start:]).encode())
if start == 1:
	b = lines[0]
	msg(
		'Checksum in file OK' if a == b else
		f"Checksum in file ({b}) doesn't match computed value!")
Msg(a)
