#!/bin/sh



##TO DO

# ESTABLISH COMMUNICATIONS METHOD
# ESTABLISH EXISTANCE OF APPROPRIATE DIRECTORIES
# ESTABLISH EXISTANCE OF .MARK
# CLEANUP OLD DIRECTORIES
# ESTABLISH THAT CENSUS HAS NOT BEEN TAKEN TODAY, REPORT IF IT HAS.
# TAKE SAMPLE
# RUN DIFF / COMM ON SAMPLE and MAKE REPORT
# FIX ANYONES
# REPORT TO USER via zepher
# LOG LAST LOGONDATE

origdir=`pwd`

####
#### ESTABLISH COMMUNICATIONS METHOD
####

#foo=`zlocate $USER | grep "Hidden"`
if [ "`zlocate $USER`" = "Hidden or not logged-in" ]
#if [ -n $foo ]
	then
	sendwidget="cat "
	else
	sendwidget="zwrite $USER -s MITGAARD_CENSUS <"
fi


####
#### ESTABLISH EXISTANCE OF APPROPRIATE DIRECTORIES####

#yearthing=`date | sed 's/.*\(..\)/\1/' `
yearthing=`date +%y`
prevyearthing=`expr $yearthing - 1 `
#monththing=`date | awk ' { print $2 } ' ` ;
monththing=`date +%m`
monthnum=`expr $monththing - 0 `
##############
#echo "Got year ("$yearthing"), prev. year ("$prevyearthing"), month ("$monththing"). Procede?"
#read goyn
#
#if [ $goyn = "N" -o $goyn = "n" ]
#	then
#	exit 0
#fi
##############

if [ $monthnum = 8 -o $monthnum = 9 ]
	then
	season="Rush"
	prevseasondir="ALERT"
	else
	if [ $monthnum > 9 ]
		then
		season="Fall"
		prevseasondir="Rush"$yearthing
		else
		if [ $monthnum < 6 ]
			then
			season="Spring"
			prevseasondir="Fall"$prevyearthing
			else
				season="Summer"
				prevseasondir="Spring"$yearthing
		fi
	fi
fi

seasondir=$season$yearthing


##############
#echo "Got season "$season", prevseasondir "$prevseasondir". Will establish seasondir.  Procede?"
#read goyn
#
#if [ $goyn = "N" -o $goyn = "n" ]
#        then
#        exit 0
#fi
##############


if [ -d /afs/athena.mit.edu/activity/s/sca/Census/$seasondir ] 
	then
	foo="OK"
	else
		mkdir /afs/athena.mit.edu/activity/s/sca/Census/$seasondir

fi

###############
#echo "Seasondir established. ("$foo") Will mv folders as necessary. Procede?"
#read goyn
#
#if [ $goyn = "N" -o $goyn = "n" ]
#        then
#        exit 0
#fi
##############

cd /afs/athena.mit.edu/activity/s/sca/Census

if [ $season = "Rush" ]
	then
	prevyeardir=$prevyearthing-$yearthing
	################
#	echo "Prevyeardir is "$prevyeardir". Proceed?"
#	read goyn
#	if [ $goyn = "N" -o $goyn = "n" ]
#		then
#		exit 0
#	fi
	###############
	if [ -d $prevyeardir ]
		then
		echo 
		else
		mkdir $prevyeardir
	fi
	if [ -d Summer$yearthing ]
	        then
	        mv Summer$yearthing $prevyeardir
	fi
	if [ -d  Spring$yearthing ]
	        then
	        mv Spring$yearthing $prevyeardir
	fi
	if [ -d Fall$prevyearthing ]
	        then
	        mv Fall$prevyearthing $prevyeardir
	fi
	if [ -d Rush$prevyearthing ]
	        then
	        mv Rush$prevyearthing $prevyeardir
	fi
	prevseasondir=$prevyeardir"/Summer"$yearthing
fi

#monththing=`date +%m`
daything=`date +%d`

##############
#echo "Everything moved.  Establishing MARK file. Procede?"
#read goyn
#
#if [ $goyn = "N" -o $goyn = "n" ]
#        then
#        exit 0
#fi
##############

####
#### ESTABLISH EXISTANCE OF .MARK
####

if [ ! -r $seasondir/*.MARK ] 
	then
	#	echo "NO MARK"
		newmark=`ls -t $prevseasondir/*.samp | head -1  `
		cp $newmark $seasondir/$yearthing-$monththing-$daything.MARK

fi

##############
#echo "Established MARK file. Procede?"
#read goyn

#
#if [ $goyn = "N" -o $goyn = "n" ]
#        then
#        exit 0
#fi
##############


####
#### ESTABLISH THAT CENSUS HAS NOT BEEN TAKEN TODAY, REPORT IF IT HAS.
####

sampfile=$yearthing-$monththing-$daything.samp

if [ ! -r $seasondir/$sampfile ]
	then

####
#### TAKE SAMPLE
####

		blanche -m mitgaard > $seasondir/$sampfile 2> /tmp/errorfile
		if [ -n "`grep Moira /tmp/errorfile `" ]
			then
			eval $sendwidget /tmp/errorfile
			rm -f $seasondir/$sampfile
			exit 1
		fi

fi

report=`date +%y`-`date +%m`-`date +%d`.rept

if [ ! -r $seasondir/$report ] 
	then

	####
	#### RUN DIFF / COMM ON SAMPLE and MAKE REPORT
	####

	lastsamp=`ls -r $seasondir/*.samp | head -2 | tail -1 `

##############
#echo "Got lastsamp ("$lastsamp"). Procede?"
#read goyn
#
#if [ $goyn = "N" -o $goyn = "n" ]
#        then
#        exit 0
#fi
##############

	if [ "$lastsamp" = $sampfile ] 
		then
		$lastsamp=`ls -r $seasondir/*.MARK | head -1 `
		if [ ! -r $lastsamp ]
			then
			$lastsamp=`ls -r $prevseasondir/*.samp | head -1 `
			if [ ! -r $prevseasondir/$lastsamp ] 
				then
				$lastsamp=`ls -r $prevseasondir/*.MARK | head -1 `
				if [ ! -r $prevseasondir/$lastsamp ] 
					then
					echo "Previous census for comparison not found" >> /tmp/errorfile
					eval $sendwidget /tmp/errorfile
					rm -f /tmp/errorfile
					exit 1
				fi
			fi
		fi
	fi

	markfile=`ls -t $seasondir/*.MARK | head -1 `



##############
#echo "Got sampfile ("$sampfile") and lastsamp ("$lastsamp"). Procede?"
#read goyn
#
#if [ $goyn = "N" -o $goyn = "n" ]
#        then
#        exit 0
#fi
##############


	/afs/athena.mit.edu/activity/s/sca/bin/auto-reporter $seasondir/$report $lastsamp $seasondir/$sampfile $markfile

	# FIX ANYONES

	/afs/athena.mit.edu/activity/s/sca/bin/auto-anyones $markfile  $seasondir/$sampfile 

fi



# REPORT TO USER via zephyr

eval $sendwidget $seasondir/$report
#rm /tmp/personalrept


####
#### LOG LAST LOGONDATE
####

#if [ -r  $HOME/.censusrc ]
#	then
#	mv $HOME/.censusrc $HOME/.censusrc~
#fi

#echo `date +%y`-`date +%m`-`date +%d`.samp > $HOME/.censusrc
cd $origdir
