#!/usr/bin/env python

import glob
import os

volist = ['alicesgm', 'atlb', 'lhcbpil', 'atlaspil', 'atlas', 'core' ]

gplines = [
    'set xdata time\n',
    'set timefmt "%b-%d-%Y-%H:%M:%S"\n',
    '# time range must be in same format as data file\n',
    'set grid xtics mxtics ytics mytics\n',
    'set logscale y\n',
    'set auto fix\n']

gplines.append('set key outside samplen 1.3\n')
gplines.append('set terminal png size 365,201 font "arial,8"\n')
gplines.append('set output "/user/templon/public_html/wait-hr-small.png"\n')
gplines.append('set format x "%H:%M"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 3600\n')
gplines.append('set mxtics 6\n')
gplines.append('set mytics 3\n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -75 ' + datafnam + '" using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 1000,535 font "arial,10"\n')
gplines.append('set output "/user/templon/public_html/wait-hr-large.png"\n')
gplines.append('set format x "%H:%M"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 3600\n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -75 ' + datafnam + '" using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 365,201 font "arial,8"\n')
gplines.append('set output "/user/templon/public_html/wait-day-small.png"\n')
gplines.append('set format x "%H:%M"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 21600\n')
gplines.append('set mxtics 3\n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -720 ' + datafnam + '" using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 1000,535 font "arial,10"\n')
gplines.append('set output "/user/templon/public_html/wait-day-large.png"\n')
gplines.append('set format x "%H:%M"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 7200\n')
gplines.append('set mxtics 4\n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -720 ' + datafnam + '" using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 365,201 font "arial,8"\n')
gplines.append('set output "/user/templon/public_html/wait-week-small.png"\n')
gplines.append('set format x "%a"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 86400\n')
gplines.append('set nomxtics \n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -5760 ' + datafnam + '" every 60 using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 1000,535 font "arial,10"\n')
gplines.append('set output "/user/templon/public_html/wait-week-large.png"\n')
gplines.append('set format x "%a %H:%M"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 86400\n')
gplines.append('set mxtics 3\n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -5760 ' + datafnam + '" every 30 using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 365,201 font "arial,8"\n')
gplines.append('set output "/user/templon/public_html/wait-month-small.png"\n')
gplines.append('set format x "%m/%d"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 604800\n')
gplines.append('set nomxtics \n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -22320 ' + datafnam + '" every 720 using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

gplines.append('set terminal png size 1000,535 font "arial,10"\n')
gplines.append('set output "/user/templon/public_html/wait-month-large.png"\n')
gplines.append('set format x "%m/%d"\n')
gplines.append('set format y " %.0te+%S"\n')
gplines.append('set xtics 604800\n')
gplines.append('set mxtics 7\n')

ctr = 1
for vo in volist:
    if ctr == 1:
        pstr = 'plot '
    datafnam = os.environ['HOME']+'/tmp/'+vo+'.wdata'
    pstr += '"< tail -22320 ' + datafnam + '" every 180 using 1:3' + \
           ' title "' + vo + '"'
    if ctr < len(volist):
        pstr += ' with lines lw 3,'
        ctr += 1
    else:
        pstr += ' with lines lw 2'
gplines.append(pstr + '\n')

sfnam = os.environ['HOME']+'/tmp/wait.plt'
sf = open(sfnam,mode='w')
for l in gplines:
    sf.write(l)
sf.close()
os.system(os.environ['HOME']+'/bin/gnuplot ' + sfnam)
