[26091] in Source-Commits

home help back first fref pref prev next nref lref last post

Re: /svn/athena r25383 - in trunk/debathena/debathena: . pharos-support

daemon@ATHENA.MIT.EDU (Benjamin Kaduk)
Fri Aug 19 17:56:19 2011

Date: Fri, 19 Aug 2011 17:56:10 -0400 (EDT)
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: Jonathan D Reed <jdreed@MIT.EDU>
cc: source-commits@MIT.EDU
In-Reply-To: <201108171757.p7HHvWB4010891@drugstore.mit.edu>
Message-ID: <alpine.GSO.1.10.1108191746100.7526@multics.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

On Wed, 17 Aug 2011, Jonathan D Reed wrote:

>
> Added: trunk/debathena/debathena/pharos-support/pharos
> ===================================================================
> --- trunk/debathena/debathena/pharos-support/pharos	                        (rev 0)
> +++ trunk/debathena/debathena/pharos-support/pharos	2011-08-17 17:57:31 UTC (rev 25383)
> @@ -0,0 +1,51 @@
> +#!/bin/sh
> +#
> +# Usage: $0 [job_id] [username] [title] [copies] [options] [filename]
> +#
> +# Exit codes: 0 - Success
> +#             1 - Failed
> +#             2 - Auth required
> +#             3 - Hold (try again later)
> +#             4 - Stop (don't retry)
> +#             5 - Cancel (cancel job and remove from queue
> +
> +discovery() {
> +    printf "%s %s \"%s\" \"%s\"\n" network pharos Unknown "MIT Pharos Printer"
> +}
> +
> +usage() {
> +    echo "$0 job-id username title copies options [filename]"
> +}
> +
> +case $# in
> +    0)
> +	discovery && exit 0
> +	;;
> +    5|6)
> +	;;
> +    *)
> +	usage && exit 1
> +	;;
> +esac
> +
> +# I wonder if this works for Jerry Saltzer?
> +DEVICE_URI="$(echo $DEVICE_URI | tr 'A-Z' 'a-z' | sed -e 's|^pharos://||')"

Well, you could always do
sed -e 's|^[pP][hH][aA][rR][oO][sS]://||'
that idiom, as aesthetically challenged as it is, shows up a lot in the rc 
subroutines that I've ended up reading.

-Ben


> +PHAROS_QUEUE="$(echo $DEVICE_URI | awk -F/ '{print $1}')"
> +case "$PHAROS_QUEUE" in
> +    bw|color)
> +	;;
> +    *)
> +	# Unknown Printer
> +	exit 4         #CUPS_BACKEND_STOP
> +	;;
> +esac
> +USERNAME="$(echo $DEVICE_URI | awk -F/ '{print $2}')"
> +# Should we test for [A-Za-z] instead?
> +if [ -z "$USERNAME" ]; then
> +    USERNAME="$2"
> +fi
> +JOBID="$1"
> +shift 2
> +export DEVICE_URI="lpd://mitprint.mit.edu/${PHAROS_QUEUE}"
> +exec /usr/lib/cups/backend/lpd "$JOBID" "$USERNAME" "$@"
> +

home help back first fref pref prev next nref lref last post