Gestion des clubs avec la nouvelle app d'impression
This commit is contained in:
parent
d57588e313
commit
e2eb01f2aa
1 changed files with 19 additions and 39 deletions
|
@ -5,7 +5,10 @@ adhérent. Le script se connecte à l'interface d'impression pour récupérer
|
|||
la liste des dernières tâches imprimées.
|
||||
Ce script est lancé par un cron toutes les dix minutes sur zamok. Pour éviter
|
||||
de notifier plusieurs fois de la même fin d'impression, on ne balaie dans
|
||||
la liste que le dernier intervalle (bornes entières) de dix minutes"""
|
||||
la liste que le dernier intervalle (bornes entières) de dix minutes
|
||||
|
||||
detraz@crans.org
|
||||
"""
|
||||
|
||||
import BeautifulSoup
|
||||
import sys
|
||||
|
@ -13,9 +16,7 @@ import requests
|
|||
import re
|
||||
import datetime
|
||||
import time
|
||||
import smtplib
|
||||
|
||||
from gestion.affich_tools import cprint
|
||||
from gestion import mail
|
||||
from utils.sendmail import actually_sendmail
|
||||
from lc_ldap import shortcuts
|
||||
|
@ -60,7 +61,6 @@ fin = now.replace(second=0, minute=(now.minute/10)*10, microsecond=0)
|
|||
debut = fin - datetime.timedelta(minutes=10)
|
||||
|
||||
success=dict()
|
||||
clubs=dict()
|
||||
echecs=dict()
|
||||
for job in jobs:
|
||||
# Fin de parsing
|
||||
|
@ -101,19 +101,10 @@ for job in jobs:
|
|||
nb = split[0]
|
||||
name = split[1]
|
||||
task = u':'.join(split[2:])
|
||||
if u'@' in name:
|
||||
#Seuls les clubs ont un @ dans leur alias, donc boucle
|
||||
# dédiée au clubs
|
||||
[name, club] = name.split(u'@', 1)
|
||||
if club not in clubs:
|
||||
clubs[club] = {'task': []}
|
||||
clubs[club]['task'].append(task)
|
||||
if name not in success:
|
||||
success[name] = {'task': []}
|
||||
success[name]['task'].append(task)
|
||||
|
||||
#Section consacrée à l'envoi : partie 1 pour les adh, partie 2 pour les clubs
|
||||
#To = 'detraz@crans.org'
|
||||
From = 'impression@crans.org'
|
||||
e = 0
|
||||
a = 0
|
||||
|
@ -124,7 +115,11 @@ for name in success:
|
|||
a = a + 1
|
||||
adh = ad[0]
|
||||
To = name + u'@crans.org'
|
||||
tname = unicode(adh['prenom'][0]) + " " + unicode(adh['nom'][0])
|
||||
try:
|
||||
tname = unicode(adh['prenom'][0]) + " " + unicode(adh['nom'][0])
|
||||
# Pour les clubs
|
||||
except KeyError:
|
||||
tname = unicode(name)
|
||||
codes = [x[0] + u'#' for x in digicode.list_code(name)]
|
||||
if not codes:
|
||||
codes = [digicode.gen_code(name) + u'#']
|
||||
|
@ -137,36 +132,21 @@ for name in success:
|
|||
'taches': u', '.join(success[name]['task']),
|
||||
'codes': u', '.join(codes)
|
||||
})
|
||||
#print mailtxt.as_string()
|
||||
if VERB:
|
||||
print mailtxt.as_string()
|
||||
actually_sendmail(From, (To,), mailtxt)
|
||||
else:
|
||||
e = e+1
|
||||
|
||||
for club in clubs:
|
||||
a = a + 1
|
||||
tname = club
|
||||
To = club + u'@crans.org'
|
||||
codes = [x[0] + u'#' for x in digicode.list_code(club)]
|
||||
if not codes:
|
||||
codes = [digicode.gen_code(club) + u'#']
|
||||
if VERB:
|
||||
print (u"Envoi du mail à %s" % To)
|
||||
mailtxt=mail.generate('mail_impression_ok', {
|
||||
'To': To,
|
||||
'From': From,
|
||||
'tname': tname,
|
||||
'taches': u', '.join(clubs[club]['task']),
|
||||
'codes': u', '.join(codes),
|
||||
})
|
||||
#print mailtxt.as_string()
|
||||
actually_sendmail(From, (To,), mailtxt)
|
||||
|
||||
for name in echecs:
|
||||
ad = con.search(u'(uid=%s)' % name)
|
||||
To = 'impression@lists.crans.org'
|
||||
if ad <> []:
|
||||
adh = ad[0]
|
||||
tname = unicode(adh['prenom'][0]) + " " + unicode(adh['nom'][0])
|
||||
try:
|
||||
tname = unicode(adh['prenom'][0]) + " " + unicode(adh['nom'][0])
|
||||
except KeyError:
|
||||
tname = unicode(name)
|
||||
else:
|
||||
tname = name
|
||||
mailtxt=mail.generate('mail_impression_ratee', {
|
||||
|
@ -175,7 +155,8 @@ for name in echecs:
|
|||
'tname': tname,
|
||||
'taches': u', '.join(echecs[name]['task']),
|
||||
})
|
||||
#print mailtxt.as_string()
|
||||
if VERB:
|
||||
print mailtxt.as_string()
|
||||
actually_sendmail(From, (To,), mailtxt)
|
||||
|
||||
|
||||
|
@ -186,4 +167,3 @@ if e>0:
|
|||
print a
|
||||
print "Nombre de mails non envoyés faute de résultats LDAP :"
|
||||
print e
|
||||
#print len(success)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue