[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
This commit is contained in:
Michel Blockelet 2010-10-10 02:30:53 +02:00
parent 0bee018686
commit 2de6874e8a

View file

@ -63,7 +63,8 @@ pgsql.autocommit = True
curseur = pgsql.cursor()
# Le smtp est assez capricieux
for i in range(5):
def connectsmtp():
for i in range(5):
try:
mail = smtplib.SMTP('localhost')
except:
@ -71,6 +72,7 @@ for i in range(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)