#!/usr/bin/env python3

# Copyright (c) 2017, 2018 Danny van Dyk
# Copyright (c) 2018 Frederik Beaujean
#
# This file is part of the EOS project. EOS is free software;
# you can redistribute it and/or modify it under the terms of the GNU General
# Public License version 2, as published by the Free Software Foundation.
#
# EOS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA  02111-1307  USA

import argparse
import eos
import os
import sys
import yaml

def main():
    parser = argparse.ArgumentParser(description='Plot EOS results')
    parser.add_argument('input', metavar='PLOTFILE', type=str, help='Name of the plot input YAML file')
    parser.add_argument('output', metavar='PDFFILE', type=str, help='Name of the plot output PDF file')

    args = parser.parse_args()

    # ensure that the input file exists
    if not os.path.isfile(args.input):
        raise RuntimeError('\'%s\' is not a file' % args.input)

    instructions = None
    with open(args.input) as input_file:
        instructions = yaml.load(input_file, Loader=yaml.SafeLoader)

    # plot data
    plotter = eos.plot.Plotter(instructions, args.output)
    plotter.plot()


if __name__ == '__main__':
    main()
