#!/bin/bash

extensions='\.(MTS|MPG|MOV|MP4|MXF|MKV)$'
min2copy=5
min2thumb=10

[ -f $(dirname "$0")/casting-helpers ] && . $(dirname "$0")/casting-helpers \
	|| exit 1

director=$(pwd | sed "s|.*/castings/||" | cut -d / -f 1);
job=$(pwd | sed "s|.*/castings/||" | cut -d / -f 2);

echo "director: $director job: $job"
source=~/castings/$director/upload/server/php/files/

[ ! -d "$source" ] && echo "source $source MISSING" >&2 && exit 1
echo "source $source"
notice="Processing job $job"
notice_file="$source/__ $(echo "$notice" | tr "[:lower:]" "[:upper:]") __"
touch "$notice_file" && echo "$notice"
[ $? -ne 0 ] && echo "cannot touch $notice_file" && exit 1

PGM=$(basename $0)
TMP=/tmp/$PGM.$$
trap "rm -f $TMP.* '$notice_file'" EXIT

while true
do
  touch "$notice_file"
  cp liste .liste.$$
  i=$(($i + 1))
  ls "$source" | egrep -i "$extensions" 2>/dev/null | sort -n > $TMP.files
  count=$(cat $TMP.files 2>/dev/null | wc -l)
  [ $count -ge $min2copy ] && echo "$count enough to copy" \
  || read -p "." -t 1 && i=$min2thumb && count=$min2copy \
  || [ $count -gt 0 -a ! -f "$(ls "$source"/tmp/php* 2>/dev/null | head -1)" ] \
  && echo "$count files and transfer ended" && i=$min2thumb && mediacopy && countdown 5

  rmdir ../originals.* 2>/dev/null

  if [ $i -ge $min2thumb ]
  then
    echo
    [ "$director" = "bobines" -o "$director" = "ludivine" ] && rethumb -e
    rm ../.browsercache/* 2>/dev/null
    batchthumbs .liste.$$ > ../playlist.php.$$ 2>/dev/null \
    && mv ../playlist.php.$$ ../playlist.php \
    || rm ../playlist.php.$$
    i=0
  fi
  rm .liste.$$
  echo
  countdown 5
done
