add-sclic.sh.
Cette commande appelle en_scli.inc ou fr_scli.inc selon l'origine de wikibooks
TEXTDOMAIN=add_sclic
TEXTDOMAINDIR="/usr/share/locale"
VERSION=211008
 . gettext.sh
 if [ "$0" = "./add-sclic" ]; then echo "add-sclic : Version "$VERSION; fi
 if test -e ~/Add_appendix/bin/header.inc; then source ~/Add_appendix/bin/header.inc
 else echo $"$Bindir/header.inc not found. Execute sbin/cp-src2bin.sh"; exit -1
 fi
 Projectdir=$Workdir/books/$1
 PageSclic="$Projectdir/$1.sclic"
 echo $PageSclic
 source $Bindir/scli.inc
 cat $Projectdir/$1.scli > $PageSclic
 if [ "$2" = "--t" ]
 then 
 pwd > pwd.txt; read Localdir < pwd.txt; rm pwd.txt
 if [ "$Site" = "fr.wikibooks.org" ]; then source $Localdir/fr_sclic.inc.sh
 else source $Localdir/en_sclic.inc.sh
 fi
 else
 if [ "$Site" = "fr.wikibooks.org" ]; then source $Bindir/fr_sclic.inc
 else source $Bindir/en_sclic.inc
 fi
 fi
en_sclic.inc.
. gettext.sh
TEXTDOMAIN=en_sclic.inc
TEXTDOMAINDIR="/usr/share/locale"
VERSION=211008
 cd $Projectdir
 if [ "$2" = "--t" ]
 then 
 echo "Projectdir = $Projectdir"
 echo "en_sclic version = $VERSION"
 fi 
 cat $Projectdir/$1/$1.str | grep -n -i -e fichier: -e file: -e image: > $Projectdir/$1/$1.files
 cat $Projectdir/$1/$1.str | grep -n -i -e fichier: -e .jpg -e .png -e .gif > $Projectdir/$1/$1.picts
 cat $Projectdir/$1/$1.files | grep title |sed "s/<\/div>//g" | awk -F">" '{print $NF}' > $Projectdir/$1/$1.illustrations
 cat $Projectdir/$1/$1.files | awk -F"=" '{for (i=1;i<=NF;i++) print $i "\n"}' | grep https | sed "s/\"/!/g" | cut -d '!' -f3 \
 | grep https | tr '>' ! | sed "s/<\/a//g" |sed "s/!//g" > $Projectdir/$1/$1.links
 wget -P $Projectdir/$1 -r -linf -k -p -E -i $Projectdir/$1/$1.links 
 cd $1
 if test -e commons.wikimedia.org; then cp -R commons.wikimedia.org/wiki/*.html . ; fi
 echo -n "" > html.list
 if test -s $Projectdir/$1/$1.links
 then 
 echo $"$Projectdir/$1/$1.links is not empty" 
 while read line
 do
 echo $line | awk -F"/" '{print $NF}' | cut -d '%' -f1 | cut -d '.' -f1 > tmp
 read Image < tmp
 ls $Image*.html » html.list
 echo "Image : "$Image.html 
 done < $Projectdir/$1/$1.links
 elif test -s $Projectdir/html.list; then cp $Projectdir/html.list $Projectdir/$1/html.list
 else echo $"No images found in $Projectdir/$1"; exit 0
 fi
 echo " *** References : image, src, lic, contrib."
 while read line
 do
 echo
 echo
 echo "$(gettext '**** line = ')$line ****"
 echo
 mkd -pw '**' $line $line.tmp
 cat $line.tmp | tr ',' '\n' > $line.str 
 echo -n "$(gettext 'Illustration : ')" > $line.title
 cat $line.str |grep wgTitle | cut -d '"' -f4 » $line.title
 cat $line.title » $PageSclic 
 cat $line.title
 echo -n ", "$(gettext ' source : ')"https://"$Site"/w/index.php?title= " > $line.source
 echo $line | sed "s/.html//g" » $line.source
 cat $line.source » $PageSclic
 cat $line.source
 echo -n ", "$(gettext ' license : ')"" > $line.license
 cat $line.str | grep licensetpl_short | sed "s/<td>//g" | sed "s/<span class//g" | sed "s/<\/span>//g" | sed "s/style=\"display:none;\"//g" | tr '=' '\n' | grep licensetpl_short | awk -F">" '{print $NF}' » $line.license
 cat $line.license » $PageSclic
 cat $line.license
 echo -n ", "$(gettext ' author(s) : ')"" > $line.authors
 rm tmp
 cat $line.str | grep -i -n -m1 -A 1 -e Author | grep -i -e user -e utilisteur -e auteur | tr '/' '\n' | grep -i -e user -e utilisteur -e auteur | cut -d '"' -f1 > tmp
 if test -s tmp 
 then cat tmp » $line.authors
 else echo "-" » $line.authors
 fi
 cat $line.authors » $PageSclic
 cat $line.authors 
 echo » $PageSclic
 done < html.list
 echo "</div>" » $PageSclic
 echo "$(gettext ' ')" » $PageSclic
exit 0 
fr_sclic.inc.
Version=210819
 cd $Projectdir
 if [ "$2" = "--t" ]
 then 
 echo "Projectdir = $Projectdir"
 echo "fr_sclic version = $Version"
 fi 
 cat $Projectdir/$1/$1.str | grep -n -i -e fichier: -e file: -e image: > $Projectdir/$1/$1.files
 cat $Projectdir/$1/$1.str | grep -n -i -e fichier: -e .jpg -e .png -e .gif > $Projectdir/$1/$1.picts
 cat $Projectdir/$1/$1.files | grep title |sed "s/<\/div>//g" | awk -F">" '{print $NF}' > $Projectdir/$1/$1.illustrations
 cat $Projectdir/$1/$1.files | awk -F"=" '{for (i=1;i<=NF;i++) print $i "\n"}' | grep https | sed "s/\"/!/g" | cut -d '!' -f3 \
 | grep https | tr '>' ! | sed "s/<\/a//g" |sed "s/!//g" > $Projectdir/$1/$1.links
 wget -P $Projectdir/$1 -r -linf -k -p -E -i $Projectdir/$1/$1.links
 cd $1
 if test -e commons.wikimedia.org; then cp -R commons.wikimedia.org/wiki/*.html . ; fi
 if test -e $Site; then cp -R $Site/wiki/*.html . ; fi
 echo -n "" > html.list
 if test -s $Projectdir/$1/$1.links
 then {
 while read line
 do
 echo $line | awk -F"/" '{print $NF}' | cut -d '%' -f1 | cut -d '.' -f1 > tmp
 read Image < tmp
 ls $Image*.html » html.list
 echo "Image : "$Image.html 
 done < $Projectdir/$1/$1.links
 elif test -s $Projectdir/html.list; then cp $Projectdir/html.list $Projectdir/$1/html.list
 else echo "Aucune images trouvées dans $Projectdir/$1"; exit 0
 fi
 echo "*** Références : image, src, lic, contrib. "
 while read line
 do
 echo ""
 echo ""
 echo "**** ligne lue = $line ****"
 echo ""
 mkd -pw '**' $line $line.tmp
 cat $line.tmp | tr ',' '\n' > $line.str 
 echo -n "Illustration : " > $line.title
 cat $line.str |grep wgTitle | cut -d '"' -f4 » $line.title
 cat $line.title » $PageSclic 
 cat $line.title
 echo -n ", "source : "https://"$Site"/w/index.php?title=" > $line.source
 echo $line | sed "s/.html//g" » $line.source
 cat $line.source » $PageSclic
 cat $line.source
 echo -n ", "licence : "" > $line.license
 cat $line.str | grep licensetpl_short | sed "s/<td>//g" | sed "s/<span class//g" | sed "s/<\/span>//g" | sed "s/style=\"display:none;\"//g" | tr '=' '\n' | grep licensetpl_short | awk -F">" '{print $NF}' » $line.license
 cat $line.license » $PageSclic
 cat $line.license
 echo -n ", "auteur(s) : "" > $line.auteur
 rm tmp
 cat $line.str | grep -i -n -m1 -A 1 -e Author | grep -i -e user -e utilisteur -e auteur | tr '/' '\n' | grep -i -e user -e utilisteur -e auteur | cut -d '"' -f1 > tmp
 if test -s tmp 
 then cat tmp » $line.auteur
 else echo "-" » $line.auteur
 fi
 cat $line.auteur » $PageSclic
 cat $line.auteur 
 echo » $PageSclic
 done < html.list
 echo "</div>" » $PageSclic
 echo "" » $PageSclic
exit 0
tests_add_sclic.bash.
VERSION=210618
 clear
 pwd > pwd.txt
 if cat pwd.txt | grep ~/Annexer; then Workdir=~/Annexer; elif cat pwd.txt | grep ~/Add_appendix; \
 then Workdir=~/Add_appendix; else echo "Workind directory not found"; exit -1;fi
 rm pwd.txt 
 source $Workdir/vars/installdir.var
 echo " tests_add_sclic.bash version = $VERSION"
 sleep 2
 echo -e "\033[1;33m Control add_sclic.sh in the local test directory \033[0m" > text-control.txt 
 echo -e "\033[1;33m Please check that the comment line does not contain an command \033[0m" » text-control.txt
 echo » text-control.txt
 echo -e "\033[1;33m### add_sclic.sh ###\033[0m" » text-control.txt
 grep -n -e "#T\|#O\|#P" add_sclic.sh » text-control.txt
 echo » text-control.txt
 echo -e "\033[1;33m###### en_sclic.inc.sh ###\033[0m" » text-control.txt
 grep -n -e "#T\|#O\|#P" en_sclic.inc.sh » text-control.txt 
 echo » text-control.txt
 echo -e "\033[1;33m###### fr_sclic.inc.sh ###\033[0m" » text-control.txt
 grep -n -e "#T\|#O\|#P" fr_sclic.inc.sh » text-control.txt 
 echo -e "\033[1;33m ---- \033[0m" » text-control.txt
 more text-control.txt
 echo; echo -e "\033[47m\033[1;30m Continue ? \033[0m"
 read -s -e -n 1 -t 60 -p "y/n ? : " Inkey;echo
 if [ "$Inkey" != 'y' ]; then echo " Inkey is not yes, or time out after 60 sec, exit from $0"; exit 0;fi
 #O Test with first param empty
 echo "Command ./add_sclic.sh without parameter"
 ./add_sclic.sh
 echo;echo " wait for 2 sec"
 sleep 2; echo "----"
 echo " All tests whith parameter --t" 
 Inkey=1
 for i in 'seq 1 9'
 do 
 cat $Workdir/tests/sitelist.txt; echo
 echo -e "\033[47m\033[1;30m Choose the site number to test \033[0m"
 read -s -n1 -p "inkey number 1 to 9 : " Inkey; echo;
 if [ "$Inkey" = "1" ]; then ./add_sclic.sh LivreTest --t
 elif [ "$Inkey" = "2" ]; then ./add_sclic.sh Hélices_de_navires_à_déplacement --t
 elif [ "$Inkey" = "3" ]; then ./add_sclic.sh TestBook --t
 elif [ "$Inkey" = "4" ]; then ./add_sclic.sh Mkd_\(Extracteur_de_documents\) --t
 elif [ "$Inkey" = "5" ]; then ./add_sclic.sh Faire_fleurir_le_sel --t
 elif [ "$Inkey" = "6" ]; then ./add_sclic.sh Faire_sa_fleur_de_sel --t 
 elif [ "$Inkey" = "7" ]; then ./add_sclic.sh Guide_to_Unix --t
 elif [ "$Inkey" = "8" ]; then ./add_sclic.sh Tests_de_la_capacité_des_batteries_d%27accumulateurs --t
 elif [ "$Inkey" = "9" ]; then ./add_sclic.sh LivreTest --t
 else echo "$inkey local url of site not found"; exit 0
 fi
 done