#!/bin/sh # CompteurApril.sh # GNU/GPL 2008 patrick@april # dim nov 16 2008 # mar nov 18 2008 dernier # # DEBUG # rm -f CompteurApril.session; sh CompteurApril.sh ;cat CompteurApril.session # # USAGE # CompteurApril.sh ["TEXTE"] [CACHE] [COMPTEUR_MAX] [COMPTEUR_MIN] # # EXEMPLE # CompteurApril.sh "Aujourd'hui il y a %d adherents April\nhttp://www.april.org\n" # # AFFICHAGE function affichage { printf "${TEXTE}" ${COMPTEUR_APRIL}; exit; } # INIT DEFAUT # Temps de cache CACHE="3600"; # Compteur max COMPTEUR_MAX="6000"; # Compteur min COMPTEUR_MIN="2000"; # Fichier de session SESSION="CompteurApril.session" # Date DATE=`date +%s` # Date cache max CACHE_MAX=0 # INIT SESSION [ ! -f ${SESSION} ] && echo>${SESSION} . ${SESSION} # Valeurs utilisateur [ "$1" ] && TEXTE="$1" [ "$2" ] && CACHE="$2" [ "$3" ] && COMPTEUR_MAX="$3" [ "$4" ] && COMPTEUR_MIN="$4" # TEST CACHE [ "${DATE}" -lt "${CACHE_MAX}" ] && affichage # SORTIE CACHE # Cache max CACHE_MAX=$((${DATE}+${CACHE})); # Recuperation du compteur COMPTEUR_GET=`GET http://www.april.org/modules/gdtc/nb_adherents` ( [ ${COMPTEUR_GET} -gt ${COMPTEUR_MAX} ] || [ ${COMPTEUR_GET} -lt ${COMPTEUR_MIN} ] ) && affichage # SORTIE ERREUR COMPTEUR_APRIL=${COMPTEUR_GET} # COPIE SESSION echo "# SESSION COMPTEUR_APRIL CACHE=${CACHE} CACHE_MAX=${CACHE_MAX} COMPTEUR_MAX=${COMPTEUR_MAX} COMPTEUR_MIN=${COMPTEUR_MIN} COMPTEUR_APRIL=${COMPTEUR_APRIL} ">${SESSION} affichage