#!/usr/bin/env python

import sys
import json
import argparse
import h5_to_json as h5j

def main():
    old_stdout = sys.stdout
    sys.stdout = sys.stderr

    parser = argparse.ArgumentParser(description='Restore hdf5 file from a JSON input')
    parser.add_argument('json_path', help='Path to the JSON file')
    parser.add_argument('h5_out_path', help='Path to the hdf5 file')
    parser.add_argument('--data-dir', '-d', help='Directory where binary data is stored by hash', required=False, default=None)

    args = parser.parse_args()

    with open(args.json_path, 'r') as f:
        X = json.load(f)

    h5j.dict_to_h5(X, args.h5_out_path, data_dir=args.data_dir)

    sys.stdout = old_stdout
    print('Wrote to {}'.format(args.h5_out_path))

if __name__ == "__main__":
    main()
