#!/usr/bin/ksh
#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#
# ident	"@(#)getppdfile	1.3	08/07/07 SMI"
#

#
# Get the path/ppdfilename for this ppd NickName
# Input:
#	make: model: ppdlabel: ppd:
#	PrintersRus: ABC Model 1234: SUNWfoomatic(S): Foomatic/Postscript (recommended):
#

#
# Returns the full path to the repository associated with
# the repository letter found between parenthesis in the
# extended PPD label.
#
# $1	- Extended PPD label
#
rep_path()
{
	case "$(expr \"$1\" : ".*(\(.*\)).*")" in
	"S")
		echo "/usr/lib/lp/model/ppd/system"
		;;
	"V")
		echo "/opt/share/ppd"
		;;
	"A")
		echo "/usr/local/share/ppd"
		;;
	"U")
		echo "/var/lp/ppd"
		;;
	esac
}

if [[ $# -lt 4 ]]; then
        exit 1
fi

[[ -f /var/lp/ppd/ppdcache ]] || exit 1
make=$(echo $* | /usr/bin/nawk '{FS=":"; print $1}')
# strip leading blanks
model=$(echo $* | /usr/bin/nawk '{FS=":"; print $2}' |
    /bin/sed -e 's/^[ ]*//')
extppdlabel=$(echo $* | /usr/bin/nawk '{FS=":"; print $3}' |
    /bin/sed -e 's/^[ ]*//')
ppd=$(echo $* | /usr/bin/nawk '{FS=":"; print $4}' |
    /bin/sed -e 's/^[ ]*//')

#
# Do not use ":" with $make. printmgr collapses manufacturer name
# to first word, ie PrintersRus and PrintersRus International become
# PrintersRus.  The full path to the PPD file will be the 6th
# colon separated entry in the ppdcache entry.  If the format
# of a ppdcache entry changes, then this will need to be modified
# also.
#
/bin/grep "${make}" /var/lp/ppd/ppdcache | 
    /bin/grep "${model}:" |
    /bin/grep "${ppd}:"  |
    /bin/grep "$(rep_path ${extppdlabel})/${extppdlabel%\(*}" |
    /usr/bin/nawk '{FS=":"; print $6}' 

exit 0
