#!/usr/bin/env python3

"""Create a gnuplot file from our various *.dat files."""

import glob


def beginning_str():
    """Output the boilerplate part."""
    begin = '''
set key left top
# set terminal pdf color enhanced
set terminal svg size 1366,700 dynamic
set output "graph.svg"
set xlabel "Number of threads (1 to number of cores + 1)"
set ylabel "Time in seconds"
#set logscale x
#set logscale y

set style line 1 lt rgb "red" lw 1
set style line 2 lt rgb "orange" lw 1
set style line 3 lt rgb "green" lw 1
set style line 4 lt rgb "blue" lw 1
set style line 5 lt rgb "purple" lw 1
set style line 6 lt rgb "violet" lw 1
set style line 7 lt rgb "#8B0000" lw 1 # darkred
set style line 8 lt rgb "#FF8C00" lw 1 # darkorange
set style line 9 lt rgb "#00008B" lw 1 # darkblue
set style line 10 lt rgb "black" lw 1

plot \\'''
    return begin


def lines_str():
    """Create and return a str of the linespoints."""
    list_ = []
    for fileno, filename in enumerate(sorted(glob.glob('*.dat'))):
        list_.append("    '{}' with linespoints ls {}".format(filename, fileno+1))
    lines = ', \\\n'.join(list_)
    return lines


def main():
    """Start the ball rolling."""
    print(beginning_str())
    print(lines_str())


main()