Utilise les nouvelles variables de config et fonctions de crans_utils
This commit is contained in:
parent
6ae6e54101
commit
955dd379c7
3 changed files with 13 additions and 13 deletions
|
@ -12,15 +12,16 @@ import calendar
|
|||
|
||||
from lc_ldap.shortcuts import lc_ldap_readonly
|
||||
from lc_ldap.variables import base_dn
|
||||
from lc_ldap import crans_utils
|
||||
import ldap
|
||||
from affich_tools import coul
|
||||
import gestion.mail as mail_module
|
||||
import gestion.config as config
|
||||
|
||||
PERIODE_TRANSITOIRE = [
|
||||
datetime.datetime.utcfromtimestamp(date).replace(tzinfo=pytz.UTC)
|
||||
crans_utils.datetime_from_generalized_time_format(date)
|
||||
for date in
|
||||
[config.debut_periode_transitoire, config.fin_periode_transitoire]
|
||||
[config.gtf_debut_periode_transitoire, config.gtf_fin_periode_transitoire]
|
||||
]
|
||||
|
||||
|
||||
|
@ -37,7 +38,7 @@ ERASE_DAY = {'second': 0, 'minute': 0, 'microsecond': 0, 'hour': 0, }
|
|||
# NB: finConnexion est un attribut ldap multivalué, et on s'intéresse ici
|
||||
# à sa valeur max pour un adhérent.
|
||||
# Les filtres ldap recherchent, de manière existentielle, une valeur valide.
|
||||
# Ainsi, en notant F l'ensemble des valeurs :
|
||||
# Ainsi, en notant F l'ensemble des valeurs :
|
||||
# max(F) >= v <=> \exists x\in F x>= v <=> finConnexion>=v
|
||||
# L'autre inégalité ( < ) est plus délicate :
|
||||
# max(F) < v <=> \forall x\in F x < v <=> \not( \exists x\in F x >= v )
|
||||
|
@ -144,7 +145,7 @@ def brief(c, debut, fin):
|
|||
to_warn = select(c, debut, fin)
|
||||
print ("%d adhérents seront prévenus que leur connexion expire entre le %s " + \
|
||||
"et le %s") % (len(to_warn), debut, fin)
|
||||
|
||||
|
||||
if "--list" in sys.argv:
|
||||
for adh in to_warn:
|
||||
valeurs = [max(parse_gtf(v.value) for v in adh[l]) \
|
||||
|
@ -158,10 +159,10 @@ def prev_calendar(c, date):
|
|||
"""Prévisualise l'expiration des connexions sur le mois courant"""
|
||||
month = date.month
|
||||
year = date.year
|
||||
|
||||
|
||||
cal = calendar.Calendar()
|
||||
|
||||
first = datetime.datetime(day=1, month=month, year=year, tzinfo=pytz.UTC)
|
||||
first = datetime.datetime(day=1, month=month, year=year, tzinfo=pytz.UTC)
|
||||
last = first.replace(month=1+month%12, year=year+int(month == 12))
|
||||
|
||||
disconnect = select(c, first, last)
|
||||
|
@ -173,7 +174,7 @@ def prev_calendar(c, date):
|
|||
if date.tzinfo:
|
||||
date -= date.tzinfo.utcoffset(date)
|
||||
by_day[date.day] += 1
|
||||
|
||||
|
||||
yield ['L', 'M', 'Me', 'J', 'V', 'S', 'D']
|
||||
l = []
|
||||
for d in cal.itermonthdays(year, month):
|
||||
|
@ -221,7 +222,7 @@ def prev_mail(calendar):
|
|||
mailtxt = mail_module.generate('fin_connexion_stats', data)
|
||||
with mail_module.ServerConnection() as mail_conn:
|
||||
mail_conn.sendmail(From, [To], mailtxt.as_string())
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
db = lc_ldap_readonly()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue