[debian/*.py] remove trailing whitespaces
Ignore-this: f62e84c258c847013d307d12acdf489e darcs-hash:20090309212356-0445d-d8338d06f968f316fcd085446023123be87040f7.gz
This commit is contained in:
parent
cc31727b60
commit
eae0d21f83
18 changed files with 352 additions and 352 deletions
|
@ -3,7 +3,7 @@
|
|||
###############################################################################
|
||||
# config_mail : gestion du .forward et .procmailrc des adhérents
|
||||
###############################################################################
|
||||
# The authors of this code are
|
||||
# The authors of this code are
|
||||
# Etienne Chové <etienne.chove@crans.org>
|
||||
#
|
||||
# Copyright (C) 2006 Etienne Chové
|
||||
|
@ -95,14 +95,14 @@ class MailConfigError(ReferenceError):
|
|||
def _IsMail(mail):
|
||||
"""
|
||||
Dit si la chaine fournie est une adresse mail valide
|
||||
"""
|
||||
"""
|
||||
return bool(re.match('[a-z0-9_\.-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)+',mail.lower()))
|
||||
|
||||
def _Clean(texte):
|
||||
"""
|
||||
Nettoie une chaine de caractère/liste en supprimant les lignes vides/commentés,
|
||||
et retourne une liste
|
||||
"""
|
||||
"""
|
||||
if type(texte) != list:
|
||||
texte = texte.split('\n')
|
||||
return [ x.strip() for x in texte if x.strip() and x[0]!='#' ]
|
||||
|
@ -123,31 +123,31 @@ def _GetConfig():
|
|||
# forward simple
|
||||
if _IsMail(fic_forward):
|
||||
return {'forward':fic_forward, 'spam':'accepte'}
|
||||
|
||||
|
||||
# utilisation de procmail
|
||||
if fic_forward != _Clean(forward_procmail)[0]:
|
||||
raise MailConfigError, 'Fichier forward non compréhensible'
|
||||
|
||||
|
||||
## lecture du .procmailrc
|
||||
fic_procmail = _Clean( open('%s/.procmailrc'%home).readlines() )
|
||||
|
||||
|
||||
# forward
|
||||
if _IsMail( fic_procmail[-1][1:].strip() ) and fic_procmail[-2] == ":0" :
|
||||
forward = fic_procmail[-1][1:].strip()
|
||||
fic_procmail = fic_procmail[:-2]
|
||||
else:
|
||||
forward = ''
|
||||
|
||||
|
||||
# forward simple dans le procmailrc
|
||||
if not fic_procmail:
|
||||
return {'forward':forward, 'spam':'accepte'}
|
||||
|
||||
|
||||
# marquage des spams
|
||||
tmp = _Clean( procmail_mark )
|
||||
if fic_procmail[:len(tmp)] != tmp:
|
||||
raise MailConfigError, 'Fichier de procmail non compréhensible'
|
||||
fic_procmail = fic_procmail[len(tmp):]
|
||||
|
||||
|
||||
# suppression des spams ?
|
||||
if not fic_procmail:
|
||||
return {'forward':forward, 'spam':'marque'}
|
||||
|
@ -158,7 +158,7 @@ def _GetConfig():
|
|||
|
||||
def _SetConfig(forward = None, spam= None):
|
||||
""" Modifie la configuration de l'utilisateur courant """
|
||||
|
||||
|
||||
# variable new_spam
|
||||
if spam in ['accepte','supprime','marque']:
|
||||
new_spam = spam
|
||||
|
@ -166,7 +166,7 @@ def _SetConfig(forward = None, spam= None):
|
|||
new_spam = _GetConfig()['spam']
|
||||
else:
|
||||
raise ValueError, 'Valeur interdite pour le paramètre spam'
|
||||
|
||||
|
||||
# variable forward
|
||||
if forward == None:
|
||||
new_forward = _GetConfig()['forward']
|
||||
|
@ -174,7 +174,7 @@ def _SetConfig(forward = None, spam= None):
|
|||
new_forward = forward
|
||||
else:
|
||||
raise ValueError, 'Adresse mail invalide'
|
||||
|
||||
|
||||
# génération des fichiers
|
||||
if new_spam=='accepte':
|
||||
# suppression du .procmailrc
|
||||
|
@ -210,17 +210,17 @@ def _Sudo(uid, forward=None, spam=None):
|
|||
c += " --forward=%s" % forward
|
||||
if spam!=None:
|
||||
c += " --spam=%s" % spam
|
||||
|
||||
|
||||
# execution de la commande
|
||||
status, output = getstatusoutput(c)
|
||||
|
||||
|
||||
# code d'erreur
|
||||
if status:
|
||||
sys.stderr.write("Erreur sudo : %s\n"%c)
|
||||
sys.stderr.write(output)
|
||||
sys.stderr.flush()
|
||||
sys.exit(status)
|
||||
|
||||
|
||||
# valeurs de retour
|
||||
res = {}
|
||||
for line in output.split('\n'):
|
||||
|
@ -230,37 +230,37 @@ def _Sudo(uid, forward=None, spam=None):
|
|||
|
||||
##
|
||||
############################################################################
|
||||
|
||||
|
||||
def MailConfig(uid=None, forward=None, spam=None):
|
||||
""" Modifie ou retourne la configuration mail de l'utilisateur
|
||||
|
||||
|
||||
user = utilisateur à configurer, si None configure l'utilisateur courant
|
||||
forward = adresse vers laquelle rediriger les mails, chaine vide si pas de redirection
|
||||
spam = action à effectuer sur les spams (accepte, supprime, marque)
|
||||
|
||||
|
||||
Pour les champs forward et spam, la valeur None ne touche pas au champ.
|
||||
|
||||
|
||||
Retourne un dictionnaire { 'forward':'', 'spam':'' }
|
||||
"""
|
||||
|
||||
|
||||
## demande pour un autre utilisateur
|
||||
if uid:
|
||||
return _Sudo(uid=uid, forward=forward, spam=spam)
|
||||
|
||||
|
||||
## nettoyage des variables
|
||||
cfg = _GetConfig()
|
||||
if forward == cfg['forward']:
|
||||
forward = None
|
||||
if spam == cfg['spam']:
|
||||
spam = None
|
||||
|
||||
|
||||
## modifications
|
||||
if forward!=None or spam!=None:
|
||||
_SetConfig(forward=forward, spam=spam)
|
||||
|
||||
|
||||
## on renvoie la configuration
|
||||
return _GetConfig()
|
||||
|
||||
|
||||
if __name__=="__main__":
|
||||
## parsage des arguments
|
||||
forward = None
|
||||
|
@ -271,10 +271,10 @@ if __name__=="__main__":
|
|||
forward = v
|
||||
elif o == '--spam':
|
||||
spam = v
|
||||
|
||||
|
||||
## execution de MailConfig
|
||||
res = MailConfig(forward=forward, spam=spam)
|
||||
|
||||
|
||||
## affichage des résultats
|
||||
for i in res.items():
|
||||
print "%s=%s" % i
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue