Uniformisation syntaxe temps et portions
script de validation de syntaxe
This commit is contained in:
parent
2c3947a475
commit
f5370aa2a2
27 changed files with 88 additions and 37 deletions
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Courgettes aux olives}{Pour 4 portions}{10 minutes + 15
|
\begin{recipe}{Courgettes aux olives}{4 portions}{10 minutes + 15 minutes cuisson}
|
||||||
minutes cuisson}
|
|
||||||
\index{Courgettes aux olives}
|
\index{Courgettes aux olives}
|
||||||
|
|
||||||
\ing[1]{kg}{Courgettes}
|
\ing[1]{kg}{Courgettes}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Ratatouille provençale}{4 portions}{25minutes + 1heure de cuisson}
|
\begin{recipe}{Ratatouille provençale}{4 portions}{25 minutes + 1 heure de cuisson}
|
||||||
\index{Ratatouille provençale}
|
\index{Ratatouille provençale}
|
||||||
|
|
||||||
\ing[500]{g}{Aubergine}
|
\ing[500]{g}{Aubergine}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Sangria}{4 portions}{10 minutes + refroidir 2-3 heures}
|
\begin{recipe}{Sangria}{4 portions}{10 minutes + 2-3 heures refroidir}
|
||||||
\index{Sangria}
|
\index{Sangria}
|
||||||
\ing[7,5]{dl}{Vin rouge}
|
\ing[7,5]{dl}{Vin rouge}
|
||||||
\ing[2,5]{dl}{D'eau gazeuse}
|
\ing[2,5]{dl}{D'eau gazeuse}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Salade de bananes au citron vert}{4 portions}{10 minutes
|
\begin{recipe}{Salade de bananes au citron vert}{4 portions}{10 minutes + 3 heures de repos}
|
||||||
+ 3 heures de repos}
|
|
||||||
\index{Salade!Bananes au citron vert}
|
\index{Salade!Bananes au citron vert}
|
||||||
|
|
||||||
\ing[2]{dl}{Eau}
|
\ing[2]{dl}{Eau}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Biscuit roulé}{Plaque 40x50 cm}{20 minutes}
|
\begin{recipe}{Biscuit roulé}{1 plaque 40x50 cm}{20 minutes}
|
||||||
\index{Biscuit roulé}
|
\index{Biscuit roulé}
|
||||||
|
|
||||||
\ing[3]{}{Jaunes d'oeufs}
|
\ing[3]{}{Jaunes d'oeufs}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Biscuit roulé aux pommes}{Plaque 40x50 cm}{20 minutes}
|
\begin{recipe}{Biscuit roulé aux pommes}{1 plaque 40x50 cm}{20 minutes}
|
||||||
\index{Biscuit roulé!aux pommes}
|
\index{Biscuit roulé!aux pommes}
|
||||||
\newstep
|
\newstep
|
||||||
Suivre la recette du biscuit roulé pour la pâte
|
Suivre la recette du biscuit roulé pour la pâte
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Brownies}{Plaques de 30x33 cm}{10 minutes + 20 minutes cuisson}
|
\begin{recipe}{Brownies}{1 plaque de 30x33 cm}{10 minutes + 20 minutes cuisson}
|
||||||
\index{Brownies}
|
\index{Brownies}
|
||||||
|
|
||||||
\newstep
|
\newstep
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Cake au citron}{4 portion}{}
|
\begin{recipe}{Cake au citron}{1 moule à cake 25cm}{15 minutes + 45 minutes}
|
||||||
\index{Cake!au citron}
|
\index{Cake!au citron}
|
||||||
|
|
||||||
\ing[1]{}{Citron}
|
\ing[1]{}{Citron}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Croquets}{40 pièces}{10 minutes + 1 nuit repos + 12
|
\begin{recipe}{Croquets}{40 pièces}{10 minutes + 1 nuit repos + 12 minutes cuisson}
|
||||||
minutes cuisson}
|
|
||||||
\index{Croquets}
|
\index{Croquets}
|
||||||
|
|
||||||
\ing[2]{}{Œufs}
|
\ing[2]{}{Œufs}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Gâteau à la crème}{1 plaque 30 cm diamètre}{1heure + 15 minutes cuisson}
|
\begin{recipe}{Gâteau à la crème}{1 plaque 30 cm diamètre}{1 heure + 15 minutes cuisson}
|
||||||
\index{Gâteau!À la crème}
|
\index{Gâteau!À la crème}
|
||||||
\index{Gâteau!Du Vully}
|
\index{Gâteau!Du Vully}
|
||||||
\index{Gâteau!De Goumoens}
|
\index{Gâteau!De Goumoens}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Gâteau Rapidos}{Plaque 30 cm de diamètre}{25 minutes}
|
\begin{recipe}{Gâteau Rapidos}{1 plaque à gâteau 30 cm}{25 minutes}
|
||||||
\index{Gâteau!Rapidos}
|
\index{Gâteau!Rapidos}
|
||||||
|
|
||||||
\ing[100]{g}{Beurre}
|
\ing[100]{g}{Beurre}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Pains d'anis}{40 pièces}{15 minutes + 1 nuit + 10 minutes
|
\begin{recipe}{Pains d'anis}{40 pièces}{15 minutes + 1 nuit + 10 minutes cuisson}
|
||||||
cuisson}
|
|
||||||
\index{Pains d'anis}
|
\index{Pains d'anis}
|
||||||
|
|
||||||
\newstep
|
\newstep
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Tarte aux poires}{Moule 30 cm de diamètre}{10minutes + 35
|
\begin{recipe}{Tarte aux poires}{1 plaque à gâteau 30 cm}{10 minutes + 35 minutes}
|
||||||
minutes}
|
|
||||||
\index{Tarte!aux poires}
|
\index{Tarte!aux poires}
|
||||||
|
|
||||||
\ing[1]{}{Pâte brisée abaissée}
|
\ing[1]{}{Pâte brisée abaissée}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Tarte au vin cuit}{Moule de 30 cm de diamètre}{10 minutes + 20 minutes cuisson}
|
\begin{recipe}{Tarte au vin cuit}{1 plaque à gâteau 30 cm}{10 minutes + 20 minutes cuisson}
|
||||||
\index{Tarte!au vin cuit}
|
\index{Tarte!au vin cuit}
|
||||||
|
|
||||||
\ing[2]{dl}{Lait}
|
\ing[2]{dl}{Lait}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Tarte au vin cuit (Aline)}{Moule de 30 cm de diamètre}
|
\begin{recipe}{Tarte au vin cuit (Aline)}{1 plaque à gâteau 30 cm}{5 minutes + 15 minutes cuisson}
|
||||||
{5 minutes + 15 minutes cuisson}
|
|
||||||
\index{Tarte!au vin cuit (Aline)}
|
\index{Tarte!au vin cuit (Aline)}
|
||||||
|
|
||||||
\ing[2\fr12]{dl}{Crème entière}
|
\ing[2\fr12]{dl}{Crème entière}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Terrine de tomates au fromage de chèvre}{1 grande terrine: 8 portions}
|
\begin{recipe}{Terrine de tomates au fromage de chèvre}{1 grande terrine: 8 portions}{20 minutes + 12 heures au frais}
|
||||||
{20 minutes + 12heures au frais}
|
|
||||||
\index{Terrine!De tomates au fromage de chèvre}
|
\index{Terrine!De tomates au fromage de chèvre}
|
||||||
|
|
||||||
\ing[4]{feuilles}{Gélatine}
|
\ing[4]{feuilles}{Gélatine}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Panettone}{1 miche}{15 minutes de préparation + 1heure d'attente + 25minutes de cuisson}
|
\begin{recipe}{Panettone}{1 pain de 400g}{15 minutes préparation + 1 heure attente + 25 minutes cuisson}
|
||||||
\index{Panettone}
|
\index{Panettone}
|
||||||
|
|
||||||
\ing[1.1]{dl}{Lait}
|
\ing[1.1]{dl}{Lait}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Pâte à pain} {pain d'environ 400g} {15 minutes de préparation + 1 heure d'attente + 25 minutes de cuisson}
|
\begin{recipe}{Pâte à pain}{1 pain de 400g}{15 minutes préparation + 1 heure attente + 25 minutes cuisson}
|
||||||
\index{Pâte!à pain}
|
\index{Pâte!à pain}
|
||||||
|
|
||||||
\ing[1]{sachet}{Levure de boulanger spéciale pain}
|
\ing[1]{sachet}{Levure de boulanger spéciale pain}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Pommes de terre provençale}{4 portions}{25 minutes
|
\begin{recipe}{Pommes de terre provençale}{4 portions}{25 minutes + 30 minutes cuisson}
|
||||||
+30 minutes cuisson}
|
|
||||||
\index{Pommes de terre!Provençale}
|
\index{Pommes de terre!Provençale}
|
||||||
|
|
||||||
\ing[800]{g}{Pommes de terre}
|
\ing[800]{g}{Pommes de terre}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Pâtes aux petits légumes}{4 personnes}{15minutes + 20
|
\begin{recipe}{Pâtes aux petits légumes}{4 portions}{15 minutes + 20 minutes de cuisson}
|
||||||
minutes de cuisson}
|
|
||||||
\index{Pâtes!aux petits légumes}
|
\index{Pâtes!aux petits légumes}
|
||||||
|
|
||||||
\ing[400]{g}{Pâtes fraîches}
|
\ing[400]{g}{Pâtes fraîches}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Nouilles sautées au poulet}{4 portions}{10 minutes + 2h
|
\begin{recipe}{Nouilles sautées au poulet}{4 portions}{10 minutes + 2h repos + 10 minutes cuisson}
|
||||||
repos + 10 minutes cuisson}
|
|
||||||
\index{Nouilles!sautées au poulet}
|
\index{Nouilles!sautées au poulet}
|
||||||
|
|
||||||
\ing[4]{filets}{Poulet coupé en dés}
|
\ing[4]{filets}{Poulet coupé en dés}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Flammenküche}{4 portions} {30 minutes + 10 minutes}
|
\begin{recipe}{Flammenküche}{4 portions}{30 minutes + 10 minutes}
|
||||||
\index{Tarte!flambée}
|
\index{Tarte!flambée}
|
||||||
\index{Flammenküche}
|
\index{Flammenküche}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Couscous}{4 personnes}{15 minutes}
|
\begin{recipe}{Couscous}{4 portions}{15 minutes}
|
||||||
\index{Couscous}
|
\index{Couscous}
|
||||||
|
|
||||||
\ing[1]{dl}{Eau}
|
\ing[1]{dl}{Eau}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Salade paysanne grecque}{Pour 4 personnes}{20 minutes}
|
\begin{recipe}{Salade paysanne grecque}{4 portions}{20 minutes}
|
||||||
\index{Salade!Paysanne grecque}
|
\index{Salade!Paysanne grecque}
|
||||||
|
|
||||||
\ing[1]{}{Concombre}
|
\ing[1]{}{Concombre}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
\begin{recipe}{Salade Niçoise}{4 personnes}{30 minutes + 10 minutes
|
\begin{recipe}{Salade Niçoise}{4 personnes}{30 minutes + 10 minutes cuisson}
|
||||||
cuisson}
|
|
||||||
\index{Salade!Niçoise}
|
\index{Salade!Niçoise}
|
||||||
|
|
||||||
\ing[4]{}{Œufs}
|
\ing[4]{}{Œufs}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
\begin{recipe}{Almondigas}{4 portions}{15minutes+ 2 heures repos + 30 minutes cuisson}
|
\begin{recipe}{Almondigas}{4 portions}{15 minutes + 2 heures repos + 30 minutes cuisson}
|
||||||
\index{Boulettes de viande}
|
\index{Boulettes de viande}
|
||||||
\index{Almondigas}
|
\index{Almondigas}
|
||||||
|
|
||||||
|
|
62
syntax_check.sh
Executable file
62
syntax_check.sh
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
printsuccess=0
|
||||||
|
printfail=1
|
||||||
|
folder="chapters"
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
--success) printsuccess=1;;
|
||||||
|
--fail) printfail=1;;
|
||||||
|
--nosuccess) printsuccess=0;;
|
||||||
|
--nofail) printfail=0;;
|
||||||
|
--folder) folder="$2"; shift;;
|
||||||
|
*) echo >&2 \
|
||||||
|
"usage: $0 [--success] [--fail] [--nosuccess] [--nofail] [--folder path]"
|
||||||
|
error
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
result() {
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
if [ $printfail -eq 1 ]; then
|
||||||
|
printf "\033[01;31m[FAIL-%s]\t%s\033[00m\n" $2 $i
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $printsuccess -eq 1 ]; then
|
||||||
|
printf "\033[01;32m[PASS-%s]\t%s\033[00m\n" $2 $i
|
||||||
|
fi
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
failligne=0
|
||||||
|
failtemps=0
|
||||||
|
failportions=0
|
||||||
|
|
||||||
|
for i in `ls ${folder}/*/*.tex`; do
|
||||||
|
cat $i | sed 1q | perl -ne 'if (m/^\\begin{recipe}{.*?}{.*?}{.*?}$/) { exit 1; } else { exit 0; }';
|
||||||
|
ret=$?
|
||||||
|
if [ $ret -eq 0 ]; then failligne=$(echo ${failligne}+1 | bc); fi;
|
||||||
|
result $ret "LIGNE"
|
||||||
|
|
||||||
|
cat $i | sed 1q | perl -ne 'if (m/{(\d+(\d+)?\s((\w|[éèà])+\s?)+(\s\+\s)?)+}$/) { exit 1; } else { exit 0; }';
|
||||||
|
ret=$?
|
||||||
|
if [ $ret -eq 0 ]; then failtemps=$(echo ${failtemps}+1 | bc); fi;
|
||||||
|
result $ret "TEMPS"
|
||||||
|
|
||||||
|
regexpains='(\d+\smiches?)|(\d+\spains?\s(\w+\s)?\d+g)'
|
||||||
|
regexportions='(\d+\sportions?)'
|
||||||
|
regexgateaux='(1\s(plaque)|(moule).*cm)'
|
||||||
|
regexmisc='(\d+(-\d+)?\s(\w+\s)*((pièces?)|(bacs?)|(pots?)))'
|
||||||
|
cat $i | sed 1q | perl -ne "if (m/{$regexpains|$regexportions|$regexgateaux|$regexmisc}/) { exit 1; } else { exit 0; }";
|
||||||
|
ret=$?
|
||||||
|
result $ret "PORTIONS"
|
||||||
|
if [ $ret -eq 0 ]; then failportions=$(echo ${failportions}+1 | bc); fi;
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Test LIGNE (ligne 'recipe' sur une ligne avec bon nombre d'arguments) : " $failligne "erreurs"
|
||||||
|
echo "Test TEMPS (le paramètre de temps pour la recette est présent et bien formaté) :" $failtemps "erreurs"
|
||||||
|
echo "Test PORTIONS (les portions sont sous un format listé)" $failportions "erreurs"
|
Loading…
Add table
Reference in a new issue