Cover V02, I02
Article
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Listing 1
Listing 10
Listing 2
Listing 3
Listing 4
Listing 5
Listing 6
Listing 7
Listing 8
Listing 9

mar93.tar


Listing 1: The llp command

1: #
2: # llp:
3: #   replacement for "lp" command, providing proximity-driven
4: #   intelligent departmental printer job routing.
5: #
6: #   Written by Leor Zolman, 9/91
7: #
8: # Usage:
9: #   llp [-formtype] ...
10: #       invokes "lp", translating formtype into appropriate "-d" clause.
11: #
12: #   If $SOFTCOPY is set to Y in the current environment, and the file
13: #   $SOFTDIR/Soft.status consists of "B" or "F", then output is written to
14: #   a file whose name is specified by the contents of $SOFTDIR/Softfile.
15: #   If $SOFTDIR/Soft.status is "B", then output is also sent to "lp".
16: #
17:
18: PTRDIR=/u/leor/docs/Cols/SA/Printers            # Printer control directory
19: CODECHAR=L                                      # for restricting selections
20: WHAT="Paper"
21:
22: SOFTDIR=$HOME/.Soft                         # user's Soft-copy config dir
23: SOFTSTAT=$SOFTDIR/Soft.status               # file containing soft-copy status
24: SOFTFILE=$SOFTDIR/Soft.file                 # file containing name of the file
25:                                             # to append soft-copy output to
26: #
27: # Process command line, handle intializations and special-case mappings:
28: #
29:
30: . $PTRDIR/initmap.sh
31:
32: #
33: # Map $ptype and $DEPT into appropriate lp text in $lpopts:
34: #
35:
36: . $PTRDIR/proxmap.sh
37:
38: [ $DEBUG = Y ] && exit
39:
40: #
41: # Support "Soft-copy" feature, to allow Sys Admin's to generate file output
42: # in place of printed output for testing and saving paper.
43: #
44:
45: if [ "$SOFTCOPY" = Y ]; then
46:     read SOFTCODE < $SOFTSTAT
47:     read SOFTNAME < $SOFTFILE
48:     case "$SOFTCODE" in
49:         B)  if [ $# -eq 0 ]; then
50:                 exec tee -a $SOFTNAME | lp $lpopts
51:             else
52:                 exec cat $* | tee -a $SOFTNAME | lp $lpopts
53:             fi;;
54:         F)  exec cat $* >> $SOFTNAME;;
55:     esac
56: fi
57:
58: #
59: # If Soft copy is disabled, just go to printer:
60: #
61:
62: if [ $# -eq 0 ]; then
63:     exec lp $lpopts -
64: else
65:     exec lp $lpopts $*
66: fi