[AJ] enregistrement des différents éléments et affichage ultérieur

This commit is contained in:
Olivier DOSSMANN 2011-03-03 12:20:34 +01:00
parent 4a6e562cde
commit 03cd23b91d

View File

@ -10,7 +10,7 @@
#+ titre de l'élément##http://domaine.tld/##description de l'élément##nom_image##Titre de l'image##description de l'image
## VARIABLES
DEBUG=1
DEBUG=0
dossier="categ"
IFS="
"
@ -36,6 +36,17 @@ fi
#+ À l'aide de find par exemple.
for fichier in `ls $dossier`
do
# On met/remet la valeur de CATEG à 0 significative de l'absence
#+ d'une Catégorie
CATEG=0
# On met/remet le tableau des elements à 0
elements_titre=()
elements_url=()
elements_desc=()
elements_image_addr=()
elements_image_titre=()
elements_image_desc=()
curseur_element=0
# Calcul du nombre de ligne du fichier
nbre_lignes=`cat ${dossier}/${fichier} |wc -l`
# debug
@ -68,7 +79,7 @@ do
debug "Comparaison dièse : $diese_comp"
if [[ $diese_comp == "#" ]]
then
echo "La ligne est un commentaire : Aucune action."
debug "La ligne est un commentaire : Aucune action."
continue
fi
#+ SI la chaîne commence par '[[' et fini par ']]'
@ -77,10 +88,11 @@ do
debug "Comparaison '[[]]' : $categ_comp"
if [[ $categ_comp == "[[]]" ]]
then
echo "La ligne est une catégorie : Enregistrement."
debug "La ligne est une catégorie : Enregistrement."
titre_categ=`echo $ligne |sed -e 's#^\[\[\(.*\)\]\].*$#\1#g'`
desc_categ=`echo $ligne |sed -e 's#^\[\[.*\]\]\(.*\)$#\1#g'`
debug "$titre_categ : $desc_categ"
CATEG=1
fi
#+ SI la chaîne contient 6 fois '##'
#+ exemple : Vous êtes perdus ?##http://perdu.com##Se rendre sur le site perdu.com####Mon image##Description de mon image
@ -88,7 +100,8 @@ do
debug "Comparaison element : $element_comp"
if [[ $element_comp == "##########" ]]
then
echo "La ligne est un élément : Enregistrement."
debug "La ligne est un élément : Enregistrement."
# Recherche des informations pour l'élément
element_titre=`echo $ligne |sed -e 's@^\(.*\)##.*##.*##.*##.*##.*$@\1@g'`
element_url=`echo $ligne |sed -e 's@^.*##\(.*\)##.*##.*##.*##.*$@\1@g'`
element_desc=`echo $ligne |sed -e 's@^.*##.*##\(.*\)##.*##.*##.*$@\1@g'`
@ -96,10 +109,47 @@ do
element_img_titre=`echo $ligne |sed -e 's@^.*##.*##.*##.*##\(.*\)##.*$@\1@g'`
element_img_desc=`echo $ligne |sed -e 's@^.*##.*##.*##.*##.*##\(.*\)$@\1@g'`
debug "Élément : titre=$element_titre, url=$element_url, desc=$element_desc, adresse_image=$element_img_addr, titre_image=$element_img_titre, desc_image=$element_img_desc"
# Ajout des éléments dans les tableaux appropriés
elements_titre[$curseur_element]=${element_titre:-""}
elements_url[$curseur_element]=${element_url:-""}
elements_desc[$curseur_element]=${element_desc:-""}
elements_image_addr[$curseur_element]=${element_img_addr:-""}
elements_image_titre[$curseur_element]=${element_img_titre:-""}
elements_image_desc[$curseur_element]=${element_img_desc:-""}
# Incrémentation
curseur_element=$(( $curseur_element + 1 ))
fi
done
else
# le fichier ne contient pas de ligne. message d'erreur
echo -e "Fichier '$fichier' non pris en charge : Le fichier semble vide."
fi
# On débute la création du fichier contenant la catégorie si CATEG=1
if [[ $CATEG == 1 ]]
then
echo -e "Création d'un bloc Catégorie…"
# TODO: Ajouter début catégorie dans un fichier temporaire
#+ Puis ajouter les éléments dans un fichier temporaire à part
#+ pour chaque element à chaque fois
#+ Faire les sed qui vont bien pour chaque élément
# tests catégorie et état du curseur
debug "Catégorie : $titre_categ : $desc_categ"
debug "État curseur : $curseur_element"
# Préparation du numéro d'index
i=0
# Parcours des tableaux afin de récupérer toutes les informations
#+ d'un élément
while [ $i -lt $curseur_element ]
do
e_titre=${elements_titre[$i]:-""} # titre element
e_desc=${elements_desc[$i]:-""} # description element
e_url=${elements_url[$i]:-""} # url element
e_img_addr=${elements_image_addr[$i]:-""} # adresse image
e_img_titre=${elements_image_titre[$i]:-""} # titre image
e_img_desc=${elements_image_desc[$i]:-""} # description image
debug "$i : ${e_titre} || ${e_desc} || ${e_url} || ${e_img_addr} || ${e_img_titre} || ${e_img_desc}"
let i++
done
# echo ${elements_titre[0]:-""}
fi
done