#!/bin/bash
# Modellfilter zu CUPS

PGCNT=/usr/bin/pkpgcounter
ACCPS=/usr/share/cups/data/count.ps

#LOG=/dev/null
LOG=/var/log/cups/filter_log

echo "-------------------- JOB START --------------------" >> $LOG
date >> $LOG
echo $@ >> $LOG
echo "DEVICE_URI: $DEVICE_URI" >> $LOG

# Counter-Info von gs
DEBUGFILE=/tmp/.accJOB_$$
# DEBUG-Infos von ps2ps
DEBUGFILE1=/tmp/.accJOB1_$$
# PS-File
DEBUGFILE2=/tmp/.accJOB2_$$
JOBID=$1
PRINTUSER=$2
COPIES=$4
JOB=$6

echo "Copies: $COPIES" >> $LOG
echo "Printer: $PRINTER" >> $LOG

# Seiten des Jobs zählen mit CUPS-Mitteln pstops

/usr/lib/cups/filter/pstops "$@" 2> $DEBUGFILE1 1>$DEBUGFILE2 || true
PAGECOUNT=$(grep "^PAGE:" $DEBUGFILE1 | tail -1|awk '{print $2;}')
echo "Pagecount von pstops:  $PAGECOUNT" >> $LOG

# Seiten des Jobs zählen mit ghostscript
gs -dBATCH -dNOPAUSE -sDEVICE=nullpage $DEBUGFILE2 $ACCPS 2> /dev/null > $DEBUGFILE || true
PAGECOUNT=$(tail -1 $DEBUGFILE)

# Seiten des Jobs zählen mit pykota pkpgcounter
/bin/echo -n "pkpgcounter: " >> $LOG
$PGCNT $6 >> $LOG

# und nun drucken
# cat $DEBUGFILE | /usr/lib/cups/filter/pstops.orig "$1" "$2" "$3" "1" "$OPTS"

echo "--------- DONE -------------- " >> $LOG
