All pastes #1807686 Raw Edit

fukawi2

public shellscript v1 · immutable
#1807686 ·published 2010-02-24 03:10 UTC
rendered paste body
#!/bin/bash# Configuration VariablesOUTDIR="$HOME/pdf-output"PRINTER_NAME='xerox'RECIPIENT_TO='YOUR_EMAIL_ADDRESS_HERE'RECIPIENT_CC='SOMEONE_ELSES_EMAIL_ADDRESS'MAIL_FROM='ADDRESS_TO_SEND_EMAIL_FROM'# Paths to Binary ExecutablesMKDIR='/bin/mkdir'GREP='/bin/grep'BASENAME='/bin/basename'DATE='/bin/date'WGET='/usr/bin/wget'WKHTMLTOPDF='/usr/local/bin/wkhtmltopdf'HTMLDOC='/usr/bin/htmldoc'LPR='/usr/bin/lpr'RM='/bin/rm'CAT='/bin/cat'SENDEMAIL='/usr/local/bin/sendEmail'# Runtime VariablesTDIR=`mktemp -t -d alert.XXXX`TFILE=`mktemp -p $TDIR rawmsg.XXXX`OUTDIR="$OUTDIR/`date +%Y-%m`"cleanup() {	trap '' 0 2	$RM -Rf $TDIR	[ "$1" ] && exit $1}ctrl_c() {	echo "Interrupted" >&2	cleanup 0}die() {	echo "$*" >&2	cleanup 1}trap ctrl_c 2trap cleanup 0# Handle cmdline argumentsVERBOSE='no'while getopts  ":v" flag ; do	case $flag in	"v")		VERBOSE='yes'		;;	esacdone# Make sure out output directory existsif [ ! -d "$OUTDIR" ] ; then	$MKDIR -p $OUTDIRfi### STEP 1# Save stdin to file[ "$VERBOSE" = 'yes' ] && echo "==> Starting to process message"[ "$VERBOSE" = 'yes' ] && echo "  -- Temporary file:    $TFILE"[ "$VERBOSE" = 'yes' ] && echo "  -- Output Directory:  $OUTDIR"$CAT > $TFILE### STEP 2# Extract the URL# http://www.19fire.com.au/maps/F091002927_WAND.htmlURL=`$GREP -E '^http://www\.19fire\.com\.au' $TFILE`if [ -n "$URL" ] ; then	# Got the URL	[ "$VERBOSE" = 'yes' ] && echo "  -- URL is $URL"else	# Missing URL!	[ "$VERBOSE" = 'yes' ] && echo "  -- Could not locate a URL in $TFILE"	exit 1fi### STEP 3# Extract Job Number from URLJOBID=`$BASENAME $URL`JOBID=${JOBID%.html}[ "$VERBOSE" = 'yes' ] && echo "  -- Job ID is $JOBID"### STEP 4# Generate the output filenameOUTFILE="$JOBID.ps"[ "$VERBOSE" = 'yes' ] && echo "  -- Output File is $OUTFILE"### STEP 5# Fetch the URL and convert it to PDF$WGET -q -O - "$URL" | $WKHTMLTOPDF \	--no-background \	--page-size A4 \	--margin-top 20 \	--margin-bottom 20 \	--margin-left 24 \	- \	$OUTDIR/$OUTFILE### STEP 6# Print the file (or whatever)if [ -f "$OUTDIR/$OUTFILE" ] ; then	$LPR 	-T "Turnout Report for $JOBID" \		-P $PRINTER_NAME \		-h \		$OUTDIR/$OUTFILE		# Email to Phil for debugging and testing purposes	$SENDEMAIL \		-f "$MAIL_FROM" \		-t "$RECIPIENT_TO" \		-cc "$RECIPIENT_CC" \		-u "PDF Turnout Report for Job $JOBID" \		-m "See attached." \		-a $OUTDIR/$OUTFILE \		-qelse	echo "SOMETHING SCREWED UP; $OUTFILE DOESN'T EXIST!"fi### STEP 7# Cleanupcleanupexit 0