rendered paste body#!/bin/bash##Script de création automatique de paquets de Smileys#pour les clients de messagerie suivants :# Psi, Jabbim, Kopete, Gajim, Pidgin# # # Balcaen John ( mikala@jabber.littleboboy.net )# crée le 17/12/2008#License GPLv3## Définition des variablesfichierjabbim="exemple-smileys.cfg"fichiergajim="exemple-emoticons.py"fichierpsi="exemple-icondef.xml"fichierkopete="exemple-emoticons.xml"fichierpidgin="exemple-theme"numeroversion="0.5"description="Pack de smilies \"HFRCerveau\" du forum Hardware.fr"nompack="HFRCerveau"iconedefaut="D.png"# Vérification de l'existence du fichier de configuration des smileys# Pour mémoire la syntaxe du fichier est la suivante# nomfichier.extension*code1*code2*code3if [ ! -e fichierorigine ] then echo "pas de fichier theme existant"; exitfi######################################################## Définition des fonctions initialisation des fichiers############################################################ Jabbim ####init_fichier_jabbim() { echo "[header]" > $fichierjabbim echo "'type'= 'emoticons'" >> $fichierjabbim echo "'name'= '$nompack'" >> $fichierjabbim echo "'frontImage'='$iconedefaut'" >> $fichierjabbim echo "'version'='$numeroversion'" >> $fichierjabbim echo "'description' = '$description" >> $fichierjabbim echo "'licence' ='GPL'" >> $fichierjabbim echo "'author' = ''" >> $fichierjabbim echo "" >> $fichierjabbim echo "[emoticons]" >> $fichierjabbim }ajout_fichier_jabbim() { if [ "$no_code_emoticon" == "1" ] then echo "'$code1' = '$nomemoticon' " >> $fichierjabbim fi if [ "$no_code_emoticon" == "2" ] then echo "'$code2' = '$nomemoticon' " >> $fichierjabbim fi if [ "$no_code_emoticon" == "3" ] then echo "'$code3' = '$nomemoticon' " >> $fichierjabbim fi}#### Gajim ####init_fichier_gajim() { echo "emoticons = {" > $fichiergajim}ajout_fichier_gajim() { if [ "$no_code_emoticon" == "1" ] then echo "\"$code1\" = \"$nomemoticon\"," >> $fichiergajim fi if [ "$no_code_emoticon" == "2" ] then echo "\"$code2\" = \"$nomemoticon\", " >> $fichiergajim fi if [ "$no_code_emoticon" == "3" ] then echo "\"$code3\" = \"$nomemoticon\", " >> $fichiergajim fi}#### Psi #####init_fichier_psi() {echo "<?xml version='1.0' encoding='UTF-8'?>" > $fichierpsiecho "<icondef>" >> $fichierpsiecho "<meta>" >> $fichierpsiecho "<name>$nompack</name>" >> $fichierpsiecho "<version>$numeroversion</version>">> $fichierpsiecho "<description>$description</description>" >> $fichierpsiecho "<author>Jérôme Dubois</author>" >> $fichierpsiecho "<author>John Balcaen</author>" >> $fichierpsiecho "<home>http://www.jerrycrazy.be.cx</home>" >> $fichierpsiecho "</meta>" >> $fichierpsi}ajout_fichier_psi () { extension=`echo $nomemoticon |cut -d "." -f 2` if [ "$no_code_emoticon" == "1" ] then echo "<icon><text>$code1</text><object mime="image/$extension">$nomemoticon</object></icon>" >> $fichierpsi fi if [ "$no_code_emoticon" == "2" ] then echo "<icon><text>$code1</text><text>$code2</text><object mime="image/$extension">$nomemoticon</object></icon>" >> $fichierpsi fi if [ "$no_code_emoticon" == "3" ] then echo "<icon><text>$code1</text><text>$code2</text><text>$code3</text><object mime="image/$extension">$nomemoticon</object></icon>" >> $fichierpsi fi} ### Kopete ######init_fichier_kopete () {echo "<?xml version=\"1.0\"?>" > $fichierkopeteecho "<messaging-emoticon-map>" >> $fichierkopete }ajout_fichier_kopete () {emoticon=`echo $nomemoticon | cut -d "." -f 1`if [ "$no_code_emoticon" == "1" ] then echo "<emoticon file=\"$emoticon\"><string>$code1</string></emoticon>" >> $fichierkopetefiif [ "$no_code_emoticon" == "2" ] then echo "<emoticon file=\"$emoticon\"><string>$code1</string><string>$code2</string></emoticon>" >> $fichierkopetefiif [ "$no_code_emoticon" == "3" ] then echo "<emoticon file=\"$emoticon\"><string>$code1</string><string>$code2</string><string>$code3</string></emoticon>" >> $fichierkopetefi}#Pidgininit_fichier_pidgin () {echo "Name=$nompack $numeroversion" > $fichierpidginecho "Description=$description " >> $fichierpidginecho "Icon=$iconedefaut" >> $fichierpidginecho "Author=Jérôme Dubois & John Balcaen" >> $fichierpidginecho "" >> $fichierpidginecho "[default]" >> $fichierpidgin}ajout_fichier_pidgin () {if [ "$no_code_emoticon" == "1" ] then echo "$nomemoticon $code1" >> $fichierpidginfiif [ "$no_code_emoticon" == "2" ] then echo "$nomemoticon $code1 $code2" >> $fichierpidginfiif [ "$no_code_emoticon" == "3" ] then echo "$nomemoticon $code1 $code2 $code3" >> $fichierpidginfi}cloture_fichier() { # Gajimecho "}" >> $fichiergajim # Psi echo "</icondef> " >> $fichierpsi # Kopeteecho "</messaging-emoticon-map>" >> $fichierkopete}############################################ Début du script d'ajout des smileys ############################################### Initialisation des fichiers de configuration des smileysinit_fichier_jabbiminit_fichier_gajiminit_fichier_psiinit_fichier_kopeteinit_fichier_pidgin# Lecture du fichier de smileys pour ajout des codescat fichierorigine |while read ligne do nomemoticon=`echo $ligne|/bin/cut -d "*" -f 1` code1=`echo $ligne|/bin/cut -d "*" -f 2` code2=`echo $ligne|/bin/cut -d "*" -f 3` no_code_emoticon=1 if [ "$code2" == "" ] then ajout_fichier_jabbim ajout_fichier_gajim ajout_fichier_psi ajout_fichier_kopete ajout_fichier_pidgin else no_code_emoticon=$((no_code_emoticon+1)) code3=`echo $ligne|/bin/cut -d "*" -f 4` if [ "$code3" == "" ] then ajout_fichier_jabbim ajout_fichier_pidgin ajout_fichier_gajim ajout_fichier_psi ajout_fichier_kopete else no_code_emoticon=$((no_code_emoticon+1)) ajout_fichier_psi ajout_fichier_jabbim ajout_fichier_gajim ajout_fichier_pidgin ajout_fichier_kopete fi fidone# Cloture des balises dans les fichiers le nécessitantcloture_fichier