#!/bin/bash

param=''
filename=''
dru='DEFAULT'
usage="usage: mPrint [-ps / -pdf / -p Printer] filename"

# Parameter auswerten
if [ $# -eq 0 ]
then
	echo $usage
	exit 0;
elif [ $# -eq 1 ]
then
	filename=$1
elif [ $# -eq 2 ]
then
	case $1 in
	-ps)
		dru=PS
		;;
	-pdf)
		dru=PDF
		;;
	*)
		echo $usage
		exit 1
	esac
	filename=$2
elif [ $# -eq 3 ]
then
	if [ $1 != "-p" ]
	then
		echo $usage
		exit 1
	fi
	dru=$2
	filename=$3
fi

# check file
if [ ! -f $filename ]
then
	echo "file $filename does not exist"
	exit 1
fi

# build ps file
psname=${filename#.*}.ps
typ=`file -b $filename`
if echo $typ | grep 'text' > /dev/null
then
  recode utf-8..l1 <$filename >$filename.tmp
  enscript --lineprinter -p $psname $filename.tmp 2>/dev/null
  rm $filename.tmp
elif echo $typ | grep 'PDF' > /dev/null
then
	if [ $dru == "PS" ]
	then
		echo "cannot back convert to ps file"
		exit 1
	elif [ $dru == pdf ]
	then
		exit 0
	fi
  psname=$filename
elif echo $typ | grep 'PS' > /dev/null
then
  psname=$filename
else
  echo 'Dateityp unbekannt'
  exit 1
fi

# print/convert ps file
case $dru in
PS)
	# habe fertig
	;;
PDF)
	ps2pdf $psname
	rm $psname
	;;
DEFAULT)
	lp $psname
	;;
*)
	lp -d $dru $psname
esac