From 2de6874e8a98238f98d524f1a2465d1f89c324cc Mon Sep 17 00:00:00 2001 From: Michel Blockelet Date: Sun, 10 Oct 2010 02:30:53 +0200 Subject: [PATCH] [deconnexion.py] On ne se connecte au SMTP que si besoin est Ca permet de ne pas laisser trainer une connexion (qui timeout si une requete prend trop de temps) darcs-hash:20101010003053-ddb99-035938e92c99e7565f89c456b422ac1d649f1328.gz --- surveillance/deconnexion.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/surveillance/deconnexion.py b/surveillance/deconnexion.py index 47eab094..a8fa90b6 100644 --- a/surveillance/deconnexion.py +++ b/surveillance/deconnexion.py @@ -63,14 +63,16 @@ pgsql.autocommit = True curseur = pgsql.cursor() # Le smtp est assez capricieux -for i in range(5): - try: - mail = smtplib.SMTP('localhost') - except: - sleep(5) - if i == 4: - print "Impossible de se connecter au SMTP" - sys.exit(1) +def connectsmtp(): + for i in range(5): + try: + mail = smtplib.SMTP('localhost') + except: + sleep(5) + if i == 4: + print "Impossible de se connecter au SMTP" + sys.exit(1) + return mail ################################################################################ # Vérification de l'upload # @@ -194,6 +196,8 @@ for elupload, eltype, elid in uploadeurs: # On envoie un mail à l'adhérent ################################ + mail = connectsmtp() + corps = upload.message_hard % {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom()} corps = corps.encode('utf-8') mail.sendmail(upload.expediteur, proprio.email(), corps) @@ -443,6 +447,8 @@ for ip, id_p2p, nombre in fraudeurs: blacklist = proprio.blacklist() # Envoi du mail à disconnect + mail = connectsmtp() + if p2p.disconnect_mail: requete = "select date from p2p where date > timestamp 'now' - interval '2 hours' and ip_src='%s' order by date limit 1"%ip curseur.execute(requete)