#!/bin/bash lescript=`basename $0 .sh` flag=$TMP_PATH/bot_$lescript.flag # # TOOLS # function debug { if [ -f $FLAG_PATH/debug ] then echo $1 fi } function sortie { if [ -f $flag ] then rm -f $flag fi exit $1 } function succes { debug "SUCCES" sortie 0 } function echec { debug "ECHEC" exit 1 } # # TEST DU FLAG # if [ -f $flag ] then debug "$0 is already running !" echec fi touch $flag # # PARAMETRES PAR FICHIER FLAGS # if [ -f $FLAG_PATH/no_blocks ] then debug "No blocks" echec fi # # CHOISIR UNE METHODE AU HASARD # ROBOT=`ls $APPS_PATH/methode | grep -v hashes | shuf | tail -n 1` debug $ROBOT # # Y A PLUS QU'A ! # if [ ! -f $FLAG_PATH/no_$ROBOT ] then cd $APPS_PATH/methode/$ROBOT for BLOCK in `awk '{print $2}' $DATA_PATH/block_list.txt` do # # Pour renouveller l'affichage des blocs remarquables # De temps en temps (15%), on efface le block # if [ $((RANDOM % 100)) -lt 15 ] then rm -f $DATA_PATH/$ROBOT/$BLOCK.png fi # # Si l'image n'existe pas, on la calcule # if [ ! -f $DATA_PATH/$ROBOT/$BLOCK.png ] then debug "Compute $DATA_PATH/$ROBOT/$BLOCK.png" php robot.php $BLOCK fi # # Les actions suivantes ne sont réalisées que si # robot.php a produit une image # if [ -f $DATA_PATH/$ROBOT/$BLOCK.png ] then # # Les blocs remarquables sont anti datés à minuit # Pour l'affichage et le nettoyage automatique # BNAME=`grep $BLOCK $DATA_PATH/block_list.txt | awk '{print $1}'` if [ "$BNAME" != "LAST" ] then touch -t $DATE $DATA_PATH/$ROBOT/$BLOCK.png fi # # Maintenir le hasard # if [ ! -f $DATA_PATH/hasard/$BLOCK.png ] then ln $DATA_PATH/$ROBOT/$BLOCK.png $DATA_PATH/hasard/$BLOCK.png fi fi done fi # # 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