#!/bin/sh
#	Created:	Fre Jul  9 09:43:15 CEST 2004	by M. Biermaier	on linuxorange
#	Version:	Mon Jul 26 09:07:22 CEST 2004	on linuxorange
#	$Id: GraphPrinter-PageCount-InkLevel,v 1.4 2004/07/26 08:00:00 mbier Exp $


LOG_FILE_PAGE_COUNT=$HOME/logs/HP-PSC_2170-PageCount_Log
LOG_DATA_PAGE_COUNT=/tmp/Log-PageCount.DAT
LOG_FILE_INK_LEVEL=$HOME/logs/HP-PSC_2170-InkLevel_Log
LOG_DATA_INK_LEVEL=/tmp/Log-InkLevel.DAT
PRINTER="HP-PSC 2175"

if [ $# -gt 0 ]
then
	START_INDEX=$1
	shift
fi
                                                                           
#Fre Jul  2 15:45:43 CEST 2004 156

awk '
BEGIN   {
		FullDate        = 1;

		Month ["Jan"]   = 1;
		Month ["Feb"]   = 2;
		Month ["Mar"]   = 3;
		Month ["Apr"]   = 4;
		Month ["May"]   = 5;
		Month ["Jun"]   = 6;
		Month ["Jul"]   = 7;
		Month ["Aug"]   = 8;
		Month ["Sep"]   = 9;
		Month ["Oct"]   = 10;
		Month ["Nov"]   = 11;
		Month ["Dec"]   = 12;
	}
/.*:..:.*/{
		#printf ("%s", $0)
		#Mon Jan 13 09:00:00 CET 2003
		Dow			= $1;
		Mon			= $2;
		Day			= $3;
		Time		= $4;
		TimeZ		= $5;
		Year		= $6;

		PageCount	= $7;

		printf ("%4d-%.2d-%.2d %s, %d\n", Year, Month [Mon], Day, Time, PageCount);
	}
' $LOG_FILE_PAGE_COUNT > $LOG_DATA_PAGE_COUNT

#Fre Jul  2 23:16:17 CEST 2004 Black: 71% Color: 51%

awk '
BEGIN   {
		FullDate        = 1;

		Month ["Jan"]   = 1;
		Month ["Feb"]   = 2;
		Month ["Mar"]   = 3;
		Month ["Apr"]   = 4;
		Month ["May"]   = 5;
		Month ["Jun"]   = 6;
		Month ["Jul"]   = 7;
		Month ["Aug"]   = 8;
		Month ["Sep"]   = 9;
		Month ["Oct"]   = 10;
		Month ["Nov"]   = 11;
		Month ["Dec"]   = 12;
	}
/.*:..:.*/{
		#printf ("%s", $0)
		#Mon Jan 13 09:00:00 CET 2003
		Dow			= $1;
		Mon			= $2;
		Day			= $3;
		Time		= $4;
		TimeZ		= $5;
		Year		= $6;

		InkLabel_1	= $7;
		InkLevel_1	= $8;
		InkLabel_2	= $9;
		InkLevel_2	= $10;

		if (NF >= 10) {
			printf ("%4d-%.2d-%.2d %s", Year, Month [Mon], Day, Time);
			printf (" %s %d", InkLabel_1, InkLevel_1);
			printf (" %s %d", InkLabel_2, InkLevel_2);
			printf ("\n");
		}
	}
' $LOG_FILE_INK_LEVEL > $LOG_DATA_INK_LEVEL

COL1=`cut -d" " -f 3 $LOG_DATA_INK_LEVEL | head -1`
COL2=`cut -d" " -f 5 $LOG_DATA_INK_LEVEL | head -1`

gnuplot -persist <<EOF
set timefmt "%Y-%m-%d %H:%M:%S"
set format x "%y-%m-%d"
set format y "%3.0f"
set xdata time
set x2data time
set xtics rotate
set y2tics
set grid
set title "PageCount and InkLevel for $PRINTER"
set time
plot [${START_INDEX:+'$START_INDEX'}:]	"$LOG_DATA_PAGE_COUNT" using 1:3 axes x2y2 title "PageCount" with lines, \
										"$LOG_DATA_INK_LEVEL" using 1:4 axes x2y1 title "$COL1" with lines, \
										"$LOG_DATA_INK_LEVEL" using 1:6 axes x2y1 title "$COL2" with lines
EOF

# vim: ts=4
