Tester le code source de la fonction findbook avec test_findbook.bash
Tester le code source de la fonction ecfpb avec ecfpb.sh (extract contents from printable book)
Tester le code source de la fonction ecfpc avec ecfpc.sh (extract contents from compiled book)
Tester le code source de la fonction cpcleaned2bin avec test_cpcleaned2bin
Tester le code source des fonctions de killalldoc avec test_killalldoc.bash
VERSION=211019
function findbook ()
 if [ "$1" = "--v" ]; then echo "findbook version : $VERSION";return 0;fi
 if [ -z $1 ]; then
 echo " -- Suffix availables in function findbook() version $VERSION : "
 echo " <book-name>/Contenus or Contenu or Contents, "
 echo " <book-name>/Sommaire or Summary, "
 echo " Compilations/<book-name> or Collections/<book-name>. "
 fi
 echo $1 | awk -F "/" '{for (i=1;i<=NF;i++) print $i}' > bookname.txt
 cat bookname.txt | grep wikibooks > sitename.txt
 read Site < sitename.txt
 wc -l bookname.txt | cut -d" " -f1 > N.txt; read N < N.txt 
 let n=N 
 let local m=N-1
 echo $1 | cut -d '/' -f5-$m > mwbookurl.txt
 read "MWbookurl" < mwbookurl.txt
 #let n-=1 
 echo $1 | cut -d '/' -f$n > lastfield.txt
 read Lastfield < lastfield.txt
 unset Suffix
 if [ "$Lastfield" = "Contenus" ] || [ "$Lastfield" = "Contenu" ] || [ "$Lastfield" = "Contents" ] || [ "$Lastfield" = "Content" ] 
 then Suffix=contents
 fi
 if [ "$Lastfield" = "Sommaire" ] || [ "$Lastfield" = "Sommaire_du_livre" ] || [ "$Lastfield" = "Summary" ]; 
 then Suffix=summary 
 else Bookname=$Lastfield 
 fi
 if [ "$Suffix" = "contents" ] || [ "$Suffix" = "summary" ]
 then
 let local m=N-1
 echo $1 | cut -d '/' -f1-$m > bookurl.txt
 read Bookfullurl < bookurl.txt
 fi
 let n-=1; echo $1 | cut -d '/' -f$n > penultimatefield.txt
 read Penultimatefield < penultimatefield.txt 
 if [ "$Penultimatefield" = "Compilations" ] \
 || [ "$Penultimatefield" = "Collections" ] \
 || [ "$Penultimatefield" = "Wikilivres:Compilations" ] \
 || [ "$Penultimatefield" = "Wikibooks:Collections" ]
 then 
 Suffix=compiled 
 else Bookname=$Penultimatefield 
 fi
 rm bookname.txt sitename.txt lastfield.txt penultimatefield.txt N.txt
VERSION=210429
function ecfpb ()
 source $HOME/Add_appendix/datas/installdir.var
 if [ "$1" = "--v" ]; then echo "ecfpb version : $VERSION";return 0;fi
 if [ "$2" = "--t" ]; then
 source ~/Add_appendix/tests/1-annex.lib/11-findbook.sh/findbook.sh 
 echo "Finbook in tests version"
 else source $Installdir/lib/annex.lib
 fi
 findbook $1
 Projectdir=$Workdir/$Bookname
 if [ -n $Site ] && [ "$Suffix" = "contents" ] || [ "$Suffix" = "Summary" ] 
 then 
 echo "url is a printable version."
 #wget https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/Contenu
 wget -Nq $1
 #cat Contenu | grep /wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ | grep -v -i Contenu > $Lastfield.txt
 cat $Lastfield | grep /$MWbookurl/ | grep -v -i $Lastfield > beforelastfield.txt
 cat beforelastfield.txt | awk -F "/" '{for (i=1;i<=NF;i++) print $i}' > fieldlist.txt
 cat fieldlist.txt | sed -e "s/\"/\n/g" | sed -e "s/ /\n/g" > fieldlist2.txt
 wc -l fieldlist.txt | cut -d" " -f1 > N.txt; read N < N.txt 
 let n=N; i=0 ; j=0; article=1; flag0=0; #flag1=1
 #rm article.*.txt
 while read line 
 do 
 let i+=1;
 if [ "$line" = "wiki" ]; then echo -n "$MWbookurl/" > article.$article.txt; let flag0=1; fi
 if [ $flag0 = "1" ] && [ "$line" = "$Bookname" ]; then let j=i+1; fi
 if [ $flag0 = "1" ] && [ "$i" = "$j" ]; then echo "$line" » article.$article.txt; let article+=1; let flag0=0; fi
 done < fieldlist2.txt
 fi
 let i=1; #rm $Bookname.$Suffix
 echo "$MWbookurl" > $Bookname.$Suffix
 while (( i < 10 ))
 do
 #echo "article.$i.txt ="; cat article.$i.txt
 if [ -r article.$i.txt ]; then cat article.$i.txt » $Bookname.$Suffix; let i+=1 ; else break; fi
 done
 if test -n $Projectdir && ! test -d $Projectdir; then mkdir "$Projectdir"; fi
 if test -d $Projectdir 
 then
 echo "Project directory = $Projectdir"
 if [ -r "$Projectdir/$Bookname.$Suffix" ] 
 then 
 echo 
 echo "Bookname.Suffix Contents :"; cat $Bookname.$Suffix; echo
 #echo "Bookname.Suffix = $Bookname.$Suffix"
 echo -n -e "$(gettext ' \033[31mUpdate Bookname.Suffix ? y/n :\033[0m ')"; read -s -n1 -p "inkey" Inkey; echo;
 if [ "$Inkey" = "y" ] 
 then chmod 755 "$Projectdir/$Bookname.$Suffix"; cp "$Bookname.$Suffix" $Projectdir/.; chmod 555 "$Projectdir/$Bookname.$Suffix";
 else echo "$(gettext ' file is not updated ! ... Go forward ... ')"
 fi
 else cp "$Bookname.$Suffix" $Projectdir/.
 fi
 fi
VERSION=210429
function ecfpc ()
 source $HOME/Add_appendix/datas/installdir.var
 if [ "$1" = "--v" ]; then echo "* ecfpc version : $VERSION";return 0;fi
 if [ "$2" = "--t" ]; then
 source ~/Add_appendix/tests/1-annex.lib/11-findbook.sh/findbook.sh 
 echo "* Finbook in tests version"
 else source $Installdir/lib/annex.lib
 fi
 findbook $1
 #if [ "$2" = "--t" ]; then
 echo "* Site name :"$Site
 echo "* Bookname : "$Bookname
 echo "* Suffix : "$Suffix
 echo "* Bookname.Suffix = "$Bookname.$Suffix 
 echo "*----"; echo
 #fi
 echo "* Bookname : "$Bookname 
 Projectdir=~/Add_appendix/$Bookname
echo "* Project directory = $Projectdir"
 if test -d $Projectdir; then echo "* Project directory exist"; else mkdir $Projectdir; echo "* $Projectdir is created"; fi
 if [ -n $Site ] && [ "$Suffix" = "compiled" ] || [ "$Suffix" = "Collection" ] 
 then 
 echo "* url is a compiled version (Collection)."
 #wget https://fr.wikibooks.org/wiki/Wikilivres:Compilations/Faire_fleurir_le_sel
 #wget -Nq $1
 rm lastfield.txt
 cat $Bookname | grep /$Bookname/ > lastfield.txt
 cat lastfield.txt | awk -F " " '{for (i=1;i<=NF;i++) print $i}' | grep "href=" > fieldlist.txt
 cat fieldlist.txt | sed -e "s/href=\"\/wiki\//sed -e "s/\"//g" > fieldlist2.txt
 cat fieldlist2.txt | sed -f ~/Add_appendix/datas/conversions.dat > $Bookname.$Suffix
 fi
 if test -d $Projectdir 
 then
 if [ -r "$Projectdir/$Bookname.$Suffix" ] && [ -s "$Bookname.$Suffix" ]
 then 
 echo -n -e "$(gettext ' \033[31mUpdate $Bookname.$Suffix ? y/n :\033[0m ')"; read -s -n1 -p "inkey : " Inkey;echo " ";
 if [ "$Inkey" = "y" ]; 
 then chmod 755 "$Projectdir/$Bookname.$Suffix"; cp "$Bookname.$Suffix" $Projectdir/.; chmod 555 "$Projectdir/$Bookname.$Suffix";
 else echo "*$(gettext ' file is not updated ! ... Continue ... ')"
 fi
 elif [ -s "$Bookname.$Suffix" ]; then cp $Bookname.$Suffix $Projectdir/.
 fi
 fi
 #!/bin/bash
VERSION=211020
function cpcleaned2bin ()
 if [ "$1" = "--v" ]; then echo "cpcleaned2bin version : $VERSION";return 0;fi 
 mkdir -p ./tmp 
 if test -e $Srcdir/$1; then echo; else echo "$Srcdir/$1 not found by function cpcleaned2bin."; return -1;fi
 awk '{
 if ($1=="#D" || $1=="#M" || $1=="#O" || $1=="#P" || $1=="#T") {;} # do not replace with an empty line
 else {print $0} 
 }' $Srcdir/$1 > ./tmp/$1.cleaned-1
 cat ./tmp/$1.cleaned-1 | sed "s/eval_gettext /echo \$/g" | sed "s/; echo//g" > ./tmp/$1.cleaned-2
 cat ./tmp/$1.cleaned-2 | sed "s/\"\$(gettext '/\$\"/g" | sed "s/' )//g" | sed "s/')//g" > ./tmp/$1.cleaned-3
 echo $1 | sed "s/.sh//g" | sed "s/.bash//g" > ./tmp/first.txt
 read First < ./tmp/first.txt
 cat ./tmp/$1.cleaned-3 > $Bindir/$First
 if echo $Bindir/$First | grep ".inc"; then chmod 644 $Bindir/$First; else chmod 755 $Bindir/$First; fi
 if cat $Bindir/$First | grep -e '$\"'
 then
 xgettext -L shell -o $Resourcesdir/lang/po/$First.pot --from-code=UTF-8 $Bindir/$First 
 if test -z $Resourcesdir/lang/po/fr/$First.po
 then 
 cp $Resourcesdir/lang/po/$First.pot $Resourcesdir/lang/po/fr/$First.po
 else 
 msgmerge --update $Resourcesdir/lang/po/fr/$First.po $Resourcesdir/lang/po/$First.pot
 fi 
 msgfmt $Resourcesdir/lang/po/fr/$First.po -o $Resourcesdir/lang/po/fr/$First.mo
 echo -e "\033[1;33m### Only if you are edit and update $First.po with Poedit: ###\033[0m"
 echo "copy $Resourcesdir/lang/po/fr/$First.mo to /usr/share/locale/fr/LC_MESSAGES/$First.mo" 
 if test -z $Resourcesdir/lang/po/es/$First.po
 then 
 cp $Resourcesdir/lang/po/$First.pot $Resourcesdir/lang/po/es/$First.po
 else 
 msgmerge --update $Resourcesdir/lang/po/es/$First.po $Resourcesdir/lang/po/$First.pot
 fi
 msgfmt $Resourcesdir/lang/po/es/$First.po -o $Resourcesdir/lang/po/es/$First.mo
 echo -e "\033[1;33m### Only if you are edit and update $First.po with Poedit: ###\033[0m"
 echo "copy $Resourcesdir/lang/po/es/$First.mo to /usr/share/locale/es/LC_MESSAGES/$First.mo"
 fi
 rm -r ./tmp
 if [ "$Verbose" = "true" ];then echo "$Bindir/$First is updated:"; ls -l $Bindir/$First; fi
VERSION=211019
if [ "$1" = "--v" ];then echo "killalldoc.sh version: $VERSION"; exit 0;fi
function killOPT ()
 if test -z $1; then return -1; fi
 awk '{
 if ($1=="#O" || $1=="#P" || $1=="#T") {print " "} # replace with blank line
 }' $1
function killDMOPT ()
 if test -z $1; then return -1; fi
 awk '{
 if ($1=="#D" || $1=="#M" || $1=="#O" || $1=="#P" || $1=="#T") {print " "} # replace with blank line
 }' $1
function killALLDOC ()
 if test -z $1; then return -1; fi
 awk '{
 if ($1=="#D" || $1=="#M" || $1=="#O" || $1=="#P" || $1=="#T") {;} # do not replace with an empty line
 }' $1