#!/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/2004 <mailto:dorner@astro.uni-wuerzburg.de>
#   Author(s): Stefan Ruegamer 02/2007 <mailto:snruegam@astro.uni-wuerzburg.de>
#
#   Copyright: MAGIC Software Development, 2000-2007
#
#
# ========================================================================
#
# This script is moving the rawfiles from the directory
# /magic/datacenter/fromtape/rawdata to the structure
# /magic/data/rawfiles/YYYY/MM/DD
# 
# Before running this script via cronjob, a check has to be included
# which logs in to La Palma and checks if the corresponding link in the
# Wuerbzurg transfer folder has already been deleted (else the file will
# be transferred again after moving)
# 

source `dirname $0`/sourcefile
printprocesslog "INFO starting $0"
program=movingrawfiles_OK

set -C
umask 0002

scriptlog=$runlogpath/$program-$datetime.log
date >> $scriptlog 2>&1

# check whether script is already running
lockfile=$lockpath/lock-$program.txt
checklock  >> $scriptlog 2>&1

# change permission for files
ssh tape@dc07 chmod -R g+w /magic/datacenter/fromtape/rawdata/* >> $scriptlog 2>&1
ssh lapalma@dc09 chmod -R g+w /magic/datacenter/fromlapalma/RAW*/ >> $scriptlog 2>&1
# output for chmod with -v or -c (only changes)

printprocesslog "INFO moving directories from fromlapalma to fromtape"
#find directories which have to be copied
dirs=`ls /magic/datacenter/fromlapalma/RAW/*/*.OK | sed -e 's/.OK//g'`
if [ ! "$dirs" == "" ]
then
   # change permission for this directories
   ssh lapalma@dc09 chmod -R g+w $dirs >> $scriptlog 2>&1
   # move directories to the tapedirectory
   dates=`find /magic/datacenter/fromlapalma/RAW/*200* -type d | cut -d/ -f6`
   for date in ${dates[@]}
   do
	ssh lapalma@dc09 mkdir /magic/datacenter/fromlapalma/RAWchk/$date >> $scriptlog 2>&1
      	makedir /magic/datacenter/fromtape/rawdata/$date >> $scriptlog 2>&1
        
   	OKs=`ls /magic/datacenter/fromlapalma/RAW/$date/*.OK`
      	for OK in ${OKs[@]}
        do
		ssh lapalma@dc09 mv -v $OK /magic/datacenter/fromlapalma/RAWchk/$date/ >> $scriptlog 2>&1
                files=`echo $OK | sed -e 's/.OK//g'`
		mv -v $files /magic/datacenter/fromtape/rawdata/$date/ >> $scriptlog 2>&1
	done
   done
fi

rmdir -v /magic/datacenter/fromlapalma/RAW/*200* >> $scriptlog 2>&1

# find rawfiles
rawfiles=`find /magic/datacenter/fromtape/rawdata/ -name '*.*'`

if [ "$rawfiles" == "" ]
then
   echo "no files to move -> exit" >> $scriptlog 2>&1
   finish >> $scriptlog 2>&1
fi

printprocesslog "INFO moving rawfiles to $datapath/rawfiles"
for rawfile in $rawfiles
do
# workaround for rawfiles with wrong timing
#   newrawfile=`echo $rawfile | sed -e 's/center\/fromtape\/rawdata/\/rawfiles-wrong-timing/g' -e 's/_/\//1' -e 's/_/\//1'`
   newrawfile=`echo $rawfile | sed -e 's/center\/fromtape\/rawdata/\/rawfiles/g' -e 's/_/\//1' -e 's/_/\//1'`
   newdir=`dirname $newrawfile`
   makedir $newdir >> $scriptlog 2>&1
   
   mv -v $rawfile $newrawfile >> $scriptlog 2>&1
done

rmdir -v /magic/datacenter/fromtape/rawdata/* >> $scriptlog 2>&1

printprocesslog "INFO launching filesondisk"
echo "launching filesondisk" >> $scriptlog 2>&1
$scriptspath/filesondisk&

finish >> $scriptlog 2>&1

