#!/bin/sh
#
# ========================================================================
#
# *
# * This file is part of MARS, the MAGIC Analysis and Reconstruction
# * Software. It is distributed to you in the hope that it can be a useful
# * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
# * It is distributed WITHOUT ANY WARRANTY.
# *
# * Permission to use, copy, modify and distribute this software and its
# * documentation for any purpose is hereby granted without fee,
# * provided that the above copyright notice appear in all copies and
# * that both that copyright notice and this permission notice appear
# * in supporting documentation. It is provided "as is" without express
# * or implied warranty.
# *
#
#
#   Author(s): Daniela Dorner  08/2005 <mailto:dorner@astro.uni-wuerzburg.de>
#
#   Copyright: MAGIC Software Development, 2000-2004
#
#
# ========================================================================
#
#

user=`whoami`
source /home/$user/Mars/datacenter/scripts/sourcefile

set -C

cd $mars

datetime=`date +%F-%H-%M-%S`

scriptlogpath=$logpath/run/dowebplots/`date +%Y/%m/%d`
makedir $scriptlogpath

scriptlog=$scriptlogpath/dowebplots-$datetime.log

date >> $scriptlog 2>&1

lockfile=$lockpath/lock-dowebplots.txt
date > $lockfile >> $scriptlog 2>&1 
checklock0=$?
case $checklock0 in 
    0)   echo "checklock0=$checklock0 -> continue " >> $scriptlog 2>&1;;
    1)   echo "checklock0=$checklock0 -> file exists " >> $scriptlog 2>&1
         echo "-> for datacheck is running -> exit" >> $scriptlog 2>&1
         date  >> $scriptlog 2>&1
         exit;;
    *)   echo "checklock0=$checklock0 -> something went completely wrong" >> $scriptlog 2>&1;;
esac



rootfiles=`find /www/htdocs/datacenter/ -name '*.root' -maxdepth 10 | grep -v '_I_' | grep -v '_Y_' | grep -v 'subsystemdata' | grep -v 'star_lapalma'`

if [ "$rootfiles" = "" ]
then 
   echo "nothing to do -> exit"  >> $scriptlog 2>&1
   rm -v $lockfile >> $scriptlog 2>&1
   date  >> $scriptlog 2>&1
   exit
fi

echo "rootfiles: "${rootfiles[@]} >> $scriptlog 2>&1

for rootfile in ${rootfiles[@]}
do 
   date >> $scriptlog 2>&1
   path=`dirname $rootfile`
   file=`basename $rootfile`
   base=`echo $file | sed -e 's/.root$//g'`
   echo "rootfile: $file" >> $scriptlog 2>&1
   echo "path    : $path" >> $scriptlog 2>&1
   echo "base    : $base" >> $scriptlog 2>&1
   
   X=0
   while [ "$X" -le "50" ] >> $scriptlog 2>&1
   do 
      X=$((X+1))
      echo "$X. step" >> $scriptlog 2>&1

      tabfile=$path/$base-tab$X
      daterootfile=`date +%Y%m%d -r $rootfile` >> $scriptlog 2>&1
      dategiffile=`date +%Y%m%d -r $tabfile.gif` >> $scriptlog 2>&1
      if [ "$dategiffile" = "" ]
      then
         echo "date of gif-file is empty -> the file $tabfile.gif doesn't exist" >> $scriptlog 2>&1
         echo " -> setting date to 0 and producing gif-file..." >> $scriptlog 2>&1
         dategiffile=0
      fi

      echo "checking date..."  >> $scriptlog 2>&1
      echo "date of rootfile: $daterootfile" >> $scriptlog 2>&1
      echo "date of giffile:  $dategiffile"  >> $scriptlog 2>&1

      if [ "$dategiffile" -gt "$daterootfile" ] >> $scriptlog 2>&1
      then
         echo "gif-file is older than root-file -> continue " >> $scriptlog 2>&1
         continue
      fi

      echo "producing ps-file with plots for tab $X..." >> $scriptlog 2>&1
      ./showplot -b --save-as-ps=$tabfile --tab=$X $rootfile >> $scriptlog 2>&1
      if ! ls $tabfile.ps >> $scriptlog 2>&1
      then 
         echo "tab $X doen't exist -> break" >> $scriptlog 2>&1
         break
      fi
      echo "converting plots to gif for tab $X..." >> $scriptlog 2>&1
      convert -verbose -rotate 90 $tabfile.ps $tabfile.gif >> $scriptlog 2>&1
   done
done

rm -v $lockfile >> $scriptlog 2>&1 

set +C

date  >> $scriptlog 2>&1

