[26091] in Source-Commits
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" "$@"
> +