#!/bin/bash
lescript=`basename $0 .sh`

#
#  TOOLS
#
function debug
{
  if [ -f $FLAG_PATH/debug ]
  then
    echo $1
  fi
}

function sortie
{
  exit $1
}

function succes
{
  debug "SUCCES"
  sortie 0
}

function echec
{
  debug "ECHEC"
  exit 1
}

#
# PARAMETRES PAR FICHIER FLAGS
#
if [ -f $FLAG_PATH/no_blocks ]
then
  debug "No blocks"
  echec
fi

BLOCK=`grep LAST $DATA_PATH/block_list.txt | awk '{print $2}'`
TODAY=$(date -d '00:00:00' +%s)

N=0
while [ $N -ne 100 ]
do

  echo $BLOCK

  cd $APPS_PATH/info
  infos=`php robot.php $BLOCK`
  HEIGHT=`echo $infos | awk '{print $1}'`
  TIMETS=`echo $infos | awk '{print $2}'`
  NBTX=`echo $infos | awk '{print $3}'`
  NONCE=`echo $infos | awk '{print $4}'`
  PREV=`echo $infos | awk '{print $5}'`


  if [ -z "$TIMETS" ]
  then
    break
  fi

  if [ $TIMETS -lt $TODAY ]
  then
    break
  fi

  #
  # TEST DU FLAG
  #
  flag=$FLAG_PATH/bot_${lescript}_${BLOCK}.flag
  if [ -f $flag ]
  then
    debug "${lescript}_${BLOCK} already done"
    continue
  fi
  touch $flag

  if [ ! -f $DATA_PATH/nonce/$BLOCK.png ]
  then
    #
    # Si c'est la première fois que l'on dessine le block
    # On choisit la méthode qui découle du nonce
    #
    cd $APPS_PATH/nonce
    nbmethodes=`cat $DATA_PATH/nonce_methods_list.txt | wc -l`
    lenonce=`php robot.php $BLOCK`
    lamethode=$((lenonce % nbmethodes))
    if [ $lamethode -eq 0 ]
    then
      lamethode=$nbmethodes
    fi

    LISTE_METHODE=`cat $DATA_PATH/nonce_methods_list.txt | head -n $lamethode | tail -1`

    cd $APPS_PATH/methode2
    for METHODE in $LISTE_METHODE
    do
      if [ ! -d $DATA_PATH/$METHODE ]
      then
        mkdir -p $DATA_PATH/$METHODE
      fi
      echo $BLOCK $NAME $METHODE
      if [ ! -f $DATA_PATH/$METHODE/$BLOCK.png ]
      then
        php robot.php $METHODE $BLOCK $((RANDOM % 6)) $2
        cp $DATA_PATH/last/$BLOCK.png $DATA_PATH/$METHODE/$BLOCK.png
        cp $DATA_PATH/last/$BLOCK.png $DATA_PATH/hasard/$BLOCK.png
      fi
    done
    cd - >> /dev/null

    cp $DATA_PATH/last/$BLOCK.png $DATA_PATH/nonce/$BLOCK.png
  fi

  rm -f $flag

  BLOCK=$PREV

  N=$(($N+1))
done

#
# List of finished blocks
#
rm -f $DATA_PATH/finished_block_list.txt
grep -v CACHE $DATA_PATH/block_list.txt >> $DATA_PATH/finished_block_list.txt

#
# SORTIE AVEC SUCCES
#
succes
