#!/bin/sh
#
# Ce programme permet de générer des lettres aux maires en format .rtf en 
# changeant à chaque fois le nom et la civilité du maire à partir d'un
# fichier des maires.
# 
# Les mairies n'ayant pas de fax sont automatiquement ignorées par le 
# programme.
# 
# Avant de l'utiliser, le rendre exécutable en tapant :
# chmod +x letgen.sh
# 
# Pour le lancer, le placer dans un répertoire contenant le fichier des
# maires et taper :
# ./letgen nom_du_fichier_des_maires
# 
##########################################################################

# Récupération du nom du fichier des maires
fichierDesMaires=$1

# Suppression des accents dans le fichier des maires (sinon erreur lors de la génération du .rtf)
sed 'y/ÀÁÂÃÄÅÒÓÔÕÖØÈÉÊËÇÌÍÎÏÙÚÛÜÑ/AAAAAAOOOOOOEEEECIIIIUUUUN/' $fichierDesMaires > "$fichierDesMaires"SansAccent

# Suppression du caractère espace dans la liste de séparateurs (afin d'utiliser les tabulations seulement)
IFS=" "

while line=$(line) # Pour chaque ligne du fichier des maires...

do

# Récupération des informations
classement=`echo $line | awk -F "\t" '{print $1}'`
civilite=`echo $line | awk -F "\t" '{print $8}'`
nom=`echo $line | awk -F "\t" '{print $10}'`
fax=`echo $line | awk -F "\t" '{print $12}' | tr -d ' '`

if [ $fax ] # Si la mairie a un fax,

then

# Choix du nom du fichier .rtf
nomFichier="$classement.$nom.$fax.rtf"

# Choix de la civilité abrégée
if [ $civilite = Monsieur ]
then
civilite_abregee=MR
elif [ $civilite = Madame ]
then
civilite_abregee=MME
fi

# Écriture du fichier .rtf
echo "{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset128 Times New Roman;}{\f1\froman\fprq2\fcharset128 Times New Roman;}{\f2\fswiss\fprq2\fcharset128 Arial;}{\f3\fnil\fprq2\fcharset128 DejaVu Sans;}{\f4\fnil\fprq2\fcharset128 Lohit Hindi;}{\f5\fnil\fprq0\fcharset128 Lohit Hindi;}}
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
{\stylesheet{\s1\sa142\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108\snext1 Normal;}
{\s2\sb240\sa120\keepn\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs28\lang1081\ltrch\dbch\langfe2052\hich\f2\fs28\lang4108\loch\f2\fs28\lang4108\sbasedon1\snext3 Heading;}
{\s3\sa120\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108\sbasedon1\snext3 Body Text;}
{\s4\sa120\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108\sbasedon3\snext4 List;}
{\s5\sb120\sa120\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs24\lang1081\ai\ltrch\dbch\af3\langfe2052\hich\f0\fs24\lang4108\i\loch\f0\fs24\lang4108\i\sbasedon1\snext5 caption;}
{\s6\sa142\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108\sbasedon1\snext6 Index;}
}
{\info{\author William Tougeron}{\creatim\yr2012\mo2\dy25\hr2\min10}{\author William Tougeron}{\revtim\yr2012\mo2\dy25\hr2\min16}{\printim\yr0\mo0\dy0\hr0\min0}{\comment StarWriter}{\vern3200}}\deftab709
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1417\margrsxn709\margtsxn850\margbsxn850\pgdscnxt0 Standard;}}
\paperh16838\paperw11906\margl1417\margr709\margt850\margb850\sectd\sbknone\pgwsxn11906\pghsxn16838\marglsxn1417\margrsxn709\margtsxn850\margbsxn850\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs28\lang1081\ab\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\b\loch\f0\fs28\lang4108\b{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b MESSAGE PERSONNEL \u192\'3f L\'81\'66INTENTION DE $civilite_abregee $nom}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0 $civilite le Maire,}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0 Sans entrer dans les d\u233\'3ftails de la situation actuelle de notre pays, nous pouvons pour le moins dire que \u171\'3f\~les choses pourraient aller mieux\~\u187\'3f.}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0 Ces \u233\'3flections sont l\'81\'66opportunit\u233\'3f pour le peuple de France de donner son avis. Un vote tous les 5 ans, c\'81\'66est d\u233\'3fj\u224\'3f peu comme un \u171\'3f\~droit \u224\'3f la d\u233\'3fmocratie\~\u187\'3f, mais si en plus notre opinion ne peut se manifester qu'\u224\'3f travers notre pr\u233\'3ff\u233\'3frence pour l\'81\'66un ou l\'81\'66autre 
des candidats des grands partis \u224\'3f cause de r\u232\'3fglements qui limitent le droit \u224\'3f d\'81\'66autres opinions de s\'81\'66exprimer, cela devient une forme insidieuse de dictature que, nous esp\u233\'3frons, vous combattrez en ouvrant la porte \u224\'3f un concept g\u233\'3fn\u233\'3fral\~: celui de cr\u233\'3fer un g
ouvernement provisoire charg\u233\'3f de revoir la constitution avec le peuple. Ce concept a r\u233\'3funi une multitude de petits partis qui, individuellement, savent qu\'81\'66ils seront dans l\'81\'66impossibilit\u233\'3f de r\u233\'3funir les 500 signatures.}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0 Maintenant tous unis sous le vocable de \u171\'3f\~d\u233\'3fmosophie\~\u187\'3f, ces partis vous sollicitent sous une candidature unique, celle d\'81\'66un simple citoyen tir\u233\'3f au sort parmi tous nos membres, qui s\'81\'66engage pour une seule mission\~: c\u233\'3fder sa \u171\'3f\~fonction pr\u233\'3fsidentielle\~\u187\'3f \u224\'3f un 
gouvernement provisoire constitu\u233\'3f pour moiti\u233\'3f de citoyens et pour moiti\u233\'3f d\'81\'66\u233\'3flus.}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0{Cette moiti\u233\'3f d\'81\'66\u233\'3flus est compos\u233\'3fe de tous ceux qui approuvent cette n\u233\'3fcessit\u233\'3f de laisser les fran\u231\'3fais faire eux-m\u234\'3fmes leurs choix. Vous pouvez les rejoindre par une simple inscription dans ce gouvernement provisoire sur }}{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0{\ul\ulc0 www.rassemblement-demosophique.com}{, o
u simplement cautionner cette d\u233\'3fmarche en parrainant cette candidate\~: }}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ab\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\b\loch\f0\fs28\lang4108\b{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b Myriam, Anne, France, VOUTERS, th\u233\'3frapeute, n\u233\'3fe le 2 avril 1960 \u224\'3f Lille (59), demeurant 55 Avenue de Bellevue, 91210, DRAVEIL}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0 Par ce parrainage vous manifestez votre refus que notre d\u233\'3fmocratie soit dict\u233\'3fe par les lobbies internationaux, et accordez au peuple de France un droit au choix.}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0 Vous permettez aux fran\u231\'3fais d\'81\'66entendre la voix de \u171\'3f\~l\'81\'66un d\'81\'66entre eux\~\u187\'3f\~!}
\par \pard\plain \ltrpar\s1\cf0\sl276\slmult1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sa142\rtlch\af4\afs24\lang1081\ltrch\dbch\af3\langfe2052\hich\f0\fs28\lang4108\loch\f0\fs28\lang4108{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0{La br\u232\'3fve description qui pr\u233\'3fc\u232\'3fde entraine de multiples questions l\u233\'3fgitimes. Vous trouverez de nombreuses explications sur le site }}{\rtlch \ltrch\loch\f0\fs28\lang4108\i0\b0{\ul\ulc0 www.rassemblement-demosophique.com}{, mais aussi lors de la conf\u233\'3frence parisienne du 10 mars \u224\'3f laquelle vous \u234\'3ftes convi\u233\'3f, ou bie
n en participant \u224\'3f l\'81\'66une des r\u233\'3funions organis\u233\'3fes dans votre r\u233\'3fgion avec d\'81\'66autres \u233\'3flus (informations sur ces r\u233\'3funions\~: }{\ul\ulc0 mcjafbi@hotmail.com}{).  Nous pouvons aussi vous faire parvenir }{par voie postale }{le livret-programme de la d\u233\'3fmosophie sur demande.}}
\par }" > $nomFichier

# # Convertion du fichier .rtf en fichier .pdf
# unoconv -f pdf $nomFichier
# 
# # Suppression du fichier .rtf
# rm $nomFichier

echo $nomFichier

fi

done < "$fichierDesMaires"SansAccent

# Suppression du fichier des maires sans accent
rm "$fichierDesMaires"SansAccent

# Rajout du caractère espace comme séparateur
IFS="$oldifs"

exit 0

