#!/bin/sh

if [ "$1" != "-r" ]
then
	grep "^hg" bbwarnsetup.cfg |
	while read L
	do
		HGNAME=`echo "$L" | cut -d: -f1 | awk '{print $1}' | tr "[a-z]" "[A-Z]"`
		HGDEF=`echo "$L" | cut -d: -f2- | sed -e 's/^[ 	]//' | tr -s "[ 	]"`

		HMACRO=`echo "$HGDEF" | sed -e 's/\*/.*/g' -e 's/\?/./g' -e 's/[ 	]/|/g'`
		echo "\$${HGNAME}=${HMACRO}"
	done
fi

set +f

cat bbwarnrules.cfg | egrep -v "^[ 	]*#|^$" | while read L
do
	OLDIFS="$IFS"
	IFS=";"
	set $L
	IFS="$OLDIFS"

	HOSTLIST="$1"; shift
	EXHOSTLIST="$1"; shift
	SVCLIST="`echo $1 | sed -e 's/ /|/g'`"; shift
	EXSVCLIST="`echo $1 | sed -e 's/ /|/g'`"; shift
	DAYS="$1"; shift
	TIMES="$1"; shift
	RECIPS="$1"; shift

	HLIST=""
	for H in $HOSTLIST
	do
		case "$H" in
		  "hg-*") 
		  	HLIST="$HLIST \$`echo $H | tr [a-z] [A-Z]`"
		  	;;
		  *)
		  	HLIST="$HLIST $H"
			;;
		esac
	done

	RULE="HOSTS=%$HOSTLIST"
	if [ "$EXHOSTLIST" != "" ]; then
		RULE="$RULE EXHOSTS=%$EXHOSTLIST"
	fi

	if [ "$SVCLIST" != "" -a "$SVCLIST" != "*" ]; then
		RULE="$RULE SERVICES=%$SVCLIST"
	fi

	if [ "$EXSVCLIST" != "" ]; then
		RULE="$RULE EXSERVICES=%$EXSVCLIST"
	fi

	if [ "$DAYS" = "*" ]; then DAYS=""; fi
	if [ "$TIMES" = "*" ]; then TIMES=""; fi
	if [ "$DAYS" = "" -a "$TIMES" != "" ]; then DAYS="*"; fi
	if [ "$DAYS" != "" -a "$TIMES" = "" ]; then TIMES="*"; fi

	if [ "$TIMES" = "*" ]; then
		TIMES="0000:2359"
	elif [ "$TIMES" != "" ]; then
		TIMES="`echo $TIMES | sed -e 's/-/:/'`"
	fi

	if [ "$DAYS" != "" -a "$TIMES" != "" ]; then
		RULE="$RULE TIME=$DAYS:$TIMES"
	fi

	echo "$RULE"
done

