#!/bin/sh

HEADER="--header"
PAGES="--borders=no -1"
STDOPTIONS="--medium=a4 --encoding=latin2"

while getopts t:f:n:m:lhp i
do
       case $i in
               t) TITLE=$OPTARG ;;
               f) FORMAT="-E$OPTARG" ;;
               m) TARGET=$OPTARG ;;
               h) HEADER="--no-header" ;;
               l) LOCAL="da" ;;
               n) PAGES="--borders=yes -$OPTARG" ;;
               p) PDF="da" ;;
               *) echo "Nieznana opcja"; exit 1 ;;
       esac
done
shift `expr $OPTIND - 1`

if [ ! "$1" ]; then # /dev/stdin
       if [ ! $TITLE ]; then
               TITLE="stdout"
       fi
       LC_ALL=C a2ps $STDOPIONS $FORMAT --font-size="10" --stdin=" " \
               $PAGES $HEADER -o "/tmp/$TITLE.ps"
else # file
       if [ ! $TITLE ]; then
               TITLE=`basename "$1"`
       fi
       LC_ALL=C a2ps "$1" $STDOPTIONS $FORMAT --font-size="10" $PAGES \
               $HEADER -o "/tmp/$TITLE.ps"
fi

if [ ! $TARGET ]; then
       TARGET='[email protected]'
fi

if [ $PDF ]; then
       ps2pdf "/tmp/$TITLE.ps" "/tmp/$TITLE.pdf"
       rm "/tmp/$TITLE.ps"
       FILE="/tmp/$TITLE.pdf"
else
       gzip "/tmp/$TITLE.ps"
       FILE="/tmp/$TITLE.ps.gz"
fi

if [ $LOCAL ]; then
       echo "Moving file to $HOME"
       mv "$FILE" "$HOME"
       exit 0
fi

echo "Sending file to $TARGET"
(echo "Job name: $TITLE"; echo "Date: " `date '+%Y-%m-%d %H:%M'`) | mutt \
       -s "Automagick print - $TITLE" -F ~/.muttrc -a "$FILE" $TARGET

rm "$FILE"