[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian WWW CVS commit by fenio: webwml/french/security/2003 dsa-364.wml



On Sat, Aug 09, 2003 at 11:56:02AM +0200, Denis Barbier wrote:
> CVSROOT:	/cvs/webwml
> Module name:	webwml
> Changes by:	fenio	03/08/09 03:55:36
> 
> Modified files:
> 	french/security/2003: dsa-364.wml 
> 
> Log message:
> 	<i> should be </i>

Ca fait deux fois en peu de temps qu'on se fait corriger la syntaxe HTML
dans la branche francaise.

Ca serait bien si les commiteurs prenaient la peine de verifier leur oeuvre
avant de commiter. Pour ce faire, j'utilise le script en attachement. Je ne
le publie pas plus largement car il est cradou a souhait, avec par exemple
le francais hardcode.

La theorie, c'est de compiler la page, puis lancer validate (du paquet
wdg-html-validator) dessus pour verifier la syntaxe HTML, et si vous n'aimez
pas mon script (ce qui se comprend), vous pouvez le faire a la main...


Merci, Mt.

-- 
Le capitalisme, c'est l'exploitation de l'homme par l'homme.
Le communisme, c'est le contraire.
               -- Coluche
#! /bin/bash
quiet="yes"

if test "x$1" = "x--help" ; then
  echo "wmlcheck <file> [<extension> [-k]]"
  echo "         file must be in current directory."
  echo "         default extension is .fr.html, but should be .en.html to validate english pages"
  echo "         by default, compiled page is removed after validation. use -k to keep it."
  exit 0
fi

name=`basename $1 .wml`
suffix="$2"
if test "x$suffix" == "x" ; then suffix=".fr.html" ;fi
name="$name$suffix"

keep="$3"

pwd=`pwd`
(make --no-print-directory $name || \
 make --no-print-directory -C ../.. `echo $pwd|sed 's|^.*News/weekly/||'`/$name) \
 >/dev/null

err=`validate --emacs $name`
if test -n "$err" ; then
  echo "in "`pwd`
  validate --emacs "$name"|(            
  while read line; do                           
   if echo "$line" | grep -q '*** Errors'; then 
     echo "$line";                              
     echo "------------------"
   else                                         
     echo "$line";
     nbline=`echo $line |sed 's/^[^:]*:\([^:]*\):.*$/\1/'`
     pos=`echo $line |sed 's/^[^:]*:[^:]*:\([^:]*\):.*$/\1/'`
     subnb=2;
     head -n `expr $nbline + $subnb ` $name |tail -5|(
       while read subline; do
         subnb=`expr $subnb - 1`;
	 if test "$subnb" != "-1" ; then
	   echo "   $subline";
	 else
	   echo ">  $subline";
	   i="-1";while test "$i" != "$pos"; do echo -n " "; i=`expr $i + 1`;done
	   echo "^"
	 fi
       done
     )
     echo "------------------"
   fi;                                          
  done)
  exit 1;
else
  if test "$quiet" != "yes"; then
    echo "No validation error"
  fi
fi
if test "$keep" != "-k" ; then rm -f $name ; fi

# Run checktrans.pl
# Get infos about directories
 pwd=`pwd`
 basedir=`grep WMLBASE= Makefile|sed 's/^[^=]*=//'`
 basedir="$pwd/$basedir"
 # Remove blabla/.. from basedir
  while echo $basedir | egrep -q '\.\.' ; do
    basedir=`echo $basedir | sed 's|/[^/]*[^/.]/\.\.||'`
  done
 # Remove /. from basedir
  basedir=`echo $basedir | sed 's|/\.$||'`
 lang=`basename $basedir`
 subdir=`echo $pwd|sed "s|$basedir||"| sed 's|/$||'`
 if test -z "$subdir" ; then subdir="."; fi # we have to have something
 
#echo "pwd=$pwd"
#echo "basedir=$basedir"
#echo "lang=$lang"
#echo "subdir=$subdir"
#-p \"$name\"
cmd="cd $basedir/.. &&./check_trans.pl -s $subdir -q $lang"
if test -x "$basedir/../check_trans.pl" ; then 
  if test "$quiet" != "yes"; then
    echo ">> $cmd"
  fi
  eval $cmd | grep -v NeedToUpdate
fi

Reply to: