[gestion/*.py] Ré-encodage de certains scripts en UTF-8
Ignore-this: dafa22ed56eaf0d816fd089e42672eb5 darcs-hash:20090309212124-0445d-09ac8ae4052b6f333706be1baa1c7f4d94455fd5.gz
This commit is contained in:
parent
7addc503a8
commit
cc31727b60
21 changed files with 1351 additions and 1351 deletions
|
@ -1,8 +1,8 @@
|
|||
#! /usr/bin/env python
|
||||
# -*- encoding: iso-8859-15 -*-
|
||||
# Envoi d'un mail donné à certains adherents
|
||||
# -*- encoding: utf-8 -*-
|
||||
# Envoi d'un mail donné à certains adherents
|
||||
# Premier parametre : critere de recherche
|
||||
# Second parametre, fichier à envoyer
|
||||
# Second parametre, fichier à envoyer
|
||||
|
||||
import smtplib
|
||||
import sys,os
|
||||
|
@ -32,7 +32,7 @@ def reconf_postfix():
|
|||
limit="no"
|
||||
for line in lines:
|
||||
if line == LIMIT_CONF:
|
||||
nlines+=u"## mail_all.py a commenté la ligne suivante"
|
||||
nlines+=u"## mail_all.py a commenté la ligne suivante"
|
||||
nlines+="# smtpd_client_message_rate_limit = 10\n"
|
||||
limit="yes"
|
||||
else:
|
||||
|
@ -43,14 +43,14 @@ def reconf_postfix():
|
|||
sys.exit(1)
|
||||
|
||||
if limit == "yes":
|
||||
# Si oui, on demande à l'utilisateur si on y touche
|
||||
# Si oui, on demande à l'utilisateur si on y touche
|
||||
|
||||
negatif = ["N", "n", ""]
|
||||
positif = ["O", "o", "Y", "y"]
|
||||
|
||||
poursuivre = "x"
|
||||
while not (poursuivre in negatif + positif):
|
||||
poursuivre = raw_input("Il y a trop de destinataires, il faut réécrire la conf de postfix [o/N] ")
|
||||
poursuivre = raw_input("Il y a trop de destinataires, il faut réécrire la conf de postfix [o/N] ")
|
||||
|
||||
if poursuivre in negatif:
|
||||
print "Ok, on ne touche pas au fichier..."
|
||||
|
@ -58,14 +58,14 @@ def reconf_postfix():
|
|||
|
||||
assert (poursuivre in positif)
|
||||
|
||||
# On réécrit la conf
|
||||
# On réécrit la conf
|
||||
try:
|
||||
nconf_fd = open (POSTFIX_CONF, "w")
|
||||
print u"Réécriture de la configuration de postfix"
|
||||
print u"Réécriture de la configuration de postfix"
|
||||
nconf_fd.writelines(nlines)
|
||||
nconf_fd.close ()
|
||||
except IOError:
|
||||
print u"Je n'arrive pas à réécrire la conf de postfix, es-tu root ?"
|
||||
print u"Je n'arrive pas à réécrire la conf de postfix, es-tu root ?"
|
||||
sys.exit(1)
|
||||
|
||||
reload_postfix()
|
||||
|
@ -76,50 +76,50 @@ if __name__ == "__main__":
|
|||
if len(sys.argv) != 3:
|
||||
print """Usage:
|
||||
|
||||
Ce script permet d'envoyer un mail à toute une catégorie d'adhérents.
|
||||
Ce script permet d'envoyer un mail à toute une catégorie d'adhérents.
|
||||
|
||||
Le premier paramètre est le critère de recherche :
|
||||
paiement=ok pour les adhérents en règle
|
||||
paiement=ok&paiement!=2004 pour ceux qui n'ont pas encore payé pour cette année
|
||||
Le premier paramètre est le critère de recherche :
|
||||
paiement=ok pour les adhérents en règle
|
||||
paiement=ok&paiement!=2004 pour ceux qui n'ont pas encore payé pour cette année
|
||||
chbre=????&paiement=ok pour ceux dont la chambre est inconnue
|
||||
paiement=ok&carteEtudiant!=2004 pour ceux qui n'ont pas de carte d'étudiant
|
||||
paiement=ok&carteEtudiant!=2004 pour ceux qui n'ont pas de carte d'étudiant
|
||||
|
||||
Le second paramètre est un fichier texte qui contient le message à envoyer. Il
|
||||
doit également contenir les entêtes, à l'exception du destinataire qui sera rajouté
|
||||
Le second paramètre est un fichier texte qui contient le message à envoyer. Il
|
||||
doit également contenir les entêtes, à l'exception du destinataire qui sera rajouté
|
||||
par le script.
|
||||
|
||||
/!\ Ce script ne demande aucune confirmation, il faut veiller à
|
||||
vérifier avec who que l'on cible bien les utilisateurs que l'on
|
||||
veut. Et si on veut vérifier que le mail a une bonne tête on se
|
||||
l'envoie d'abord en mettant login=machin comme critère de
|
||||
/!\ Ce script ne demande aucune confirmation, il faut veiller à
|
||||
vérifier avec who que l'on cible bien les utilisateurs que l'on
|
||||
veut. Et si on veut vérifier que le mail a une bonne tête on se
|
||||
l'envoie d'abord en mettant login=machin comme critère de
|
||||
recherche.
|
||||
|
||||
/!\ Ce script a pour but de spammer, et spammer c'est mal. Il faut
|
||||
donc contourner les limitations qui ont été mises en place au
|
||||
Cr@ns. Si plus de 10 mails doivent être envoyés, il faut le faire
|
||||
donc contourner les limitations qui ont été mises en place au
|
||||
Cr@ns. Si plus de 10 mails doivent être envoyés, il faut le faire
|
||||
depuis rouge, et ce en root.
|
||||
"""
|
||||
|
||||
sys.exit(0)
|
||||
|
||||
# On en est là
|
||||
# On en est là
|
||||
# On ouvre la base et on cherche
|
||||
adherents = ldap_crans.crans_ldap().search(sys.argv[1])['adherent']
|
||||
card= len(adherents)
|
||||
print "%d adhérent(s) a/ont été trouvé(s)..." % card
|
||||
print "%d adhérent(s) a/ont été trouvé(s)..." % card
|
||||
time.sleep(3) # On dort un peu, ctrl-c welcome
|
||||
|
||||
limit="no"
|
||||
if card >= 10:
|
||||
(limit, backup_conf) = reconf_postfix()
|
||||
|
||||
# Il faudra quoiqu'il arrive rétablir la conf de postfix
|
||||
# Il faudra quoiqu'il arrive rétablir la conf de postfix
|
||||
# try capture-t-il les SIGTERM ?!
|
||||
try:
|
||||
try:
|
||||
texte = "".join(file(sys.argv[2], "r").readlines())
|
||||
except IOError:
|
||||
print "Impossible d'ouvrir le fichier à envoyer, merci, au revoir."
|
||||
print "Impossible d'ouvrir le fichier à envoyer, merci, au revoir."
|
||||
sys.exit(1)
|
||||
|
||||
echecs = []
|
||||
|
@ -129,14 +129,14 @@ par le script.
|
|||
mail = adherent.mail().encode("iso-8859-15", "ignore")
|
||||
if "@" not in mail:
|
||||
mail = mail + "@crans.org"
|
||||
print "Envoi du mail à %s <%s>..." % (adherent.Nom().encode("iso-8859-15","ignore"), mail)
|
||||
print "Envoi du mail à %s <%s>..." % (adherent.Nom().encode("iso-8859-15","ignore"), mail)
|
||||
try:
|
||||
recipient = format_sender(u'"%s" <%s>\n' % (adherent.Nom(), mail))
|
||||
s.sendmail('bulk+%s@crans.org' % mail.replace("@",'-at-'),
|
||||
(mail,),
|
||||
"To: %s\n%s" % (recipient, texte))
|
||||
except:
|
||||
print "Erreur lors de l'envoi à %s <%s>..." % (adherent.Nom().encode("iso-8859-15","ignore"), mail)
|
||||
print "Erreur lors de l'envoi à %s <%s>..." % (adherent.Nom().encode("iso-8859-15","ignore"), mail)
|
||||
echecs.append(mail)
|
||||
else:
|
||||
# Tout va bien
|
||||
|
@ -148,7 +148,7 @@ par le script.
|
|||
|
||||
s.close()
|
||||
|
||||
# On rétablit la conf de postfix
|
||||
# On rétablit la conf de postfix
|
||||
finally:
|
||||
if limit == "yes":
|
||||
try:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue