#!/bin/sh # # Author: Peter Mann # Date: 2006-02-11 # Contributions # Christian Perrier # # script for monitoring changes of translation status txt files # # Usage: websec-txt-all # # this script is named 'websec-txt' because of missing txt support # in 'websec' - package for monitoring html changes with webdiff if [ $# -ne 1 ]; then echo "Missing language - run websec with iso code of language" exit 1 fi # Configuration variables. May need to be changed # Path for the config file and status files LOCAL_PATH=$HOME/.websec-txt # Config file. Must contain lines with " address1,address2" LANG_MAIL_CFGFILE=${LOCAL_PATH}/lang-mail.cfg # Local path SCRIPT_PATH=`dirname $0` # Filter aimed to simplify the output FILTER=${SCRIPT_PATH}/simplestats.pl # Base URL for the stats file BASE_URL="http://d-i.debian.org/l10n-stats/level" ACTUAL_DATE=`date +%Y.%m.%d__%H.%M.%S` ACTUAL_LANGUAGE="${1}" LOCAL_PATH_FILES=${LOCAL_PATH}/${ACTUAL_LANGUAGE}-files URL_SOURCES="${BASE_URL}1/${ACTUAL_LANGUAGE}.txt ${BASE_URL}2/${ACTUAL_LANGUAGE}.txt ${BASE_URL}3/${ACTUAL_LANGUAGE}.txt ${BASE_URL}4/${ACTUAL_LANGUAGE}.txt ${BASE_URL}5/${ACTUAL_LANGUAGE}.txt " MAIL_ADDRESS=`grep "^${ACTUAL_LANGUAGE} " ${LANG_MAIL_CFGFILE} | awk '{print $2}'` test -d ${LOCAL_PATH} || { echo "Initializing ${LOCAL_PATH} ..."; install --directory --mode=0700 ${LOCAL_PATH}; exit 0; } test -d ${LOCAL_PATH_FILES} || { mkdir ${LOCAL_PATH_FILES}; exit 0; } #test -f ${URL_SOURCES} || { echo "Missing ${URL_SOURCES} ..."; exit 0; } test -x ${FILTER} || { echo $FILTER not found or not executable; exit 1; } for i in ${URL_SOURCES}; do URL_SOURCE0=$i LOCAL_FILE=`echo ${URL_SOURCE0} | sed 's/\//_/g' | tr "~:" "__"` test -f ${LOCAL_PATH_FILES}/$LOCAL_FILE.old || touch ${LOCAL_PATH_FILES}/$LOCAL_FILE.old test -f ${LOCAL_PATH_FILES}/$LOCAL_FILE || touch ${LOCAL_PATH_FILES}/$LOCAL_FILE mv ${LOCAL_PATH_FILES}/$LOCAL_FILE ${LOCAL_PATH_FILES}/$LOCAL_FILE.old wget --quiet $URL_SOURCE0 -O - | grep -v "Files fetched and report generated" > ${LOCAL_PATH_FILES}/$LOCAL_FILE DIFFFILE=${LOCAL_PATH_FILES}/$LOCAL_FILE.diff diff -u ${LOCAL_PATH_FILES}/$LOCAL_FILE.old ${LOCAL_PATH_FILES}/$LOCAL_FILE > ${DIFFFILE} DIFFRETURNED=$? if test $DIFFRETURNED -ne 0; then if test -s ${DIFFFILE}; then RPTFILE=${LOCAL_PATH_FILES}/$LOCAL_FILE.report cat ${DIFFFILE} | $FILTER > ${RPTFILE} if test -s ${RPTFILE}; then echo "Mailing ${MAIL_ADDRESS} for ${ACTUAL_LANGUAGE} with:" cat ${RPTFILE} cat ${RPTFILE} | mutt -s "[WebSec-txt-${ACTUAL_LANGUAGE}] $URL_SOURCE0 - $ACTUAL_DATE" ${MAIL_ADDRESS} fi else echo "diff for ${URL_SOURCE0} returned ${DIFFRETURNED}, yet ${DIFFFILE} is empty\!" fi # else # echo "$URL_SOURCE0 - no changes" fi done exit 0