123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- #! /bin/sh
- #
- # CUPS filter for HL1210W
- # Copyright Brother Industries,Ltd 2006-2014
- #
- # Ver1.05
- # This program is free software; you can redistribute it and/or modify it
- # under the terms of the GNU General Public License as published by the Free
- # Software Foundation; either version 2 of the License, or (at your option)
- # any later version.
- #
- # This program is distributed in the hope that it will be useful, but WITHOUT
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- # more details.
- #
- # You should have received a copy of the GNU General Public License along with
- # this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- # Place, Suite 330, Boston, MA 02111-1307 USA
- #
- LOGFILE="/dev/null"
- LOGCLEVEL="7"
- DEBUG=0
- LOG_LATESTONLY=1
- PRINTER=HL1210W
- BASEDIR=/opt/brother/Printers/$PRINTER/
- LATESTINFO=/tmp/HL1210W_latest_print_info
- rm -f $LATESTINFO
- touch $LATESTINFO
- options="$5"
- if [ "$(echo $options | grep 'force-debug=1')" != '' ];then
- DEBUG=1
- elif [ "$(echo $options | grep 'force-debug=2')" != '' ];then
- DEBUG=2
- elif [ "$(echo $options | grep 'force-debug=3')" != '' ];then
- DEBUG=3
- elif [ "$(echo $options | grep 'force-debug=4')" != '' ];then
- DEBUG=4
- fi
- errorcode=0
- set +o noclobber
- if [ $DEBUG != 0 ]; then
- LOGFILE=/tmp/br_cupsfilter_debug_log
- fi
- if [ "$PPD" = "" ]; then
- PPD="/usr/share/cups/model/$PRINTER.ppd"
- fi
- if [ $LOGFILE != "/dev/null" ]; then
- if [ $LOG_LATESTONLY = "1" ]; then
- rm -f $LOGFILE
- date >$LOGFILE
- else
- if [ -e $LOGFILE ]; then
- date >>$LOGFILE
- else
- date >$LOGFILE
- fi
- fi
- echo "arg0 = $0" >>$LOGFILE
- echo "arg1 = $1" >>$LOGFILE
- echo "arg2 = $2" >>$LOGFILE
- echo "arg3 = $3" >>$LOGFILE
- echo "arg4 = $4" >>$LOGFILE
- echo "arg5 = $5" >>$LOGFILE
- echo "arg6 = $6" >>$LOGFILE
- echo "PPD = $PPD" >>$LOGFILE
- fi
- TMP_RC=/tmp/brHL1210Wrc_$$
- cp /opt/brother/Printers/$PRINTER//inf/brHL1210Wrc $TMP_RC
- export BRPRINTERRCFILE=$TMP_RC
- if [ $DEBUG != 0 ]; then
- echo BRPRINTERRCFILE=$BRPRINTERRCFILE >>$LOGFILE
- fi
- if [ -e "/$BASEDIR/lpd/filter_"${PRINTER}"" ]; then
- :
- else
- echo "ERROR: /$BASEDIR/lpd/filter_"$PRINTER" does not exist" >>$LOGFILE
- echo "ERROR: /$BASEDIR/lpd/filter_"$PRINTER" does not exist" >> $LATESTINFO
- errorcode=2
- rm $TMP_RC
- exit
- fi
- if [ -e "/opt/brother/Printers/$PRINTER//cupswrapper/brcupsconfig4" ]; then
- if [ $DEBUG = 0 ]; then
- /opt/brother/Printers/$PRINTER//cupswrapper/brcupsconfig4 $PRINTER $PPD 0 "$options" >> /dev/null
- else
- /opt/brother/Printers/$PRINTER//cupswrapper/brcupsconfig4 $PRINTER $PPD $LOGCLEVEL "$options" >>$LOGFILE
- fi
- fi
- if [ $DEBUG = 0 ]; then
- if [ $# -ge 7 ]; then
- cat $6 | /$BASEDIR/lpd/filter_"$PRINTER"
- else
- cat | /$BASEDIR/lpd/filter_"$PRINTER"
- fi
- echo brHL1210Wrc_$$ >> $LATESTINFO
- cat $TMP_RC >> $LATESTINFO
- rm $TMP_RC
- exit $errorcode
- else
- ## ---------------- for debug
- echo --------------------------- >>$LOGFILE
- cat $BRPRINTERRCFILE >>$LOGFILE
- echo --------------------------- >>$LOGFILE
- INPUT_TEMP_PS=`mktemp /tmp/br_input_ps.XXXXXX`
- if [ $# -ge 7 ]; then
- cat $6 > $INPUT_TEMP_PS
- else
- cat > $INPUT_TEMP_PS
- fi
- case $DEBUG in
- 1)
- export LPD_DEBUG=1
- cat $INPUT_TEMP_PS | /$BASEDIR/lpd/filter_"$PRINTER"
- ;;
- 2)
- export LPD_DEBUG=2
- echo "" >>$LOGFILE
- echo " ------PostScript Data-------" >>$LOGFILE
- cat $INPUT_TEMP_PS >>$LOGFILE
- cat $INPUT_TEMP_PS | /$BASEDIR/lpd/filter_"$PRINTER"
- ;;
- 3)
- export LPD_DEBUG=3
- echo "" >>$LOGFILE
- echo " ------PostScript Data-------" >>$LOGFILE
- cat $INPUT_TEMP_PS >>$LOGFILE
- ;;
- 4)
- export LPD_DEBUG=4
- echo "" >>$LOGFILE
- echo " ------PostScript Data-------" >>$LOGFILE
- cat $INPUT_TEMP_PS >>$LOGFILE
- echo " ------Print Data-------" >>$LOGFILE
- cat $INPUT_TEMP_PS | /$BASEDIR/lpd/filter_"$PRINTER" | hexdump -C >>$LOGFILE
- ;;
- esac
- rm
- echo brHL1210Wrc_$$ >> $LATESTINFO
- cat $TMP_RC >> $LATESTINFO
- rm $TMP_RC
- fi
- exit
|