[binding] On gère aussi les dates avec des secondes.
This commit is contained in:
parent
3784c10da9
commit
db1dc7ec64
2 changed files with 23 additions and 17 deletions
|
@ -29,6 +29,7 @@ import secrets_new as secrets
|
||||||
import ridtools
|
import ridtools
|
||||||
|
|
||||||
date_format = '%d/%m/%Y %H:%M'
|
date_format = '%d/%m/%Y %H:%M'
|
||||||
|
date_format_new = '%d/%m/%Y %H:%M:%S'
|
||||||
hostname = gethostname().split(".")[0]
|
hostname = gethostname().split(".")[0]
|
||||||
smtpserv = "smtp.crans.org"
|
smtpserv = "smtp.crans.org"
|
||||||
random.seed() # On initialise le générateur aléatoire
|
random.seed() # On initialise le générateur aléatoire
|
||||||
|
@ -247,12 +248,12 @@ def format_gpg_fingerprint(fpr):
|
||||||
Formatage de fingerpring GPG pour les avoir de la forme
|
Formatage de fingerpring GPG pour les avoir de la forme
|
||||||
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
|
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# longueur + fpr sans espaces
|
# longueur + fpr sans espaces
|
||||||
l, fpr = preattr(fpr)
|
l, fpr = preattr(fpr)
|
||||||
|
|
||||||
fpr = fpr.replace(':', '').replace('-', '').replace(' ', '')
|
fpr = fpr.replace(':', '').replace('-', '').replace(' ', '')
|
||||||
|
|
||||||
if len(fpr) != 40:
|
if len(fpr) != 40:
|
||||||
raise ValueError(u"Longueur de la fingerprint GPG incorrecte, merci de respecter le format")
|
raise ValueError(u"Longueur de la fingerprint GPG incorrecte, merci de respecter le format")
|
||||||
|
|
||||||
|
@ -623,7 +624,7 @@ class CransLdap:
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
start = map(lambda x:preattr(x)[1], start)
|
start = map(lambda x:preattr(x)[1], start)
|
||||||
|
|
||||||
if new in serv.keys():
|
if new in serv.keys():
|
||||||
modlist = []
|
modlist = []
|
||||||
|
|
||||||
|
@ -930,7 +931,7 @@ class CransLdap:
|
||||||
if uid == "grosminet":
|
if uid == "grosminet":
|
||||||
proprio = self.search("nom=grosminet", mode)['adherent'][0]
|
proprio = self.search("nom=grosminet", mode)['adherent'][0]
|
||||||
return proprio
|
return proprio
|
||||||
|
|
||||||
__machines = ()
|
__machines = ()
|
||||||
def all_machines(self, graphic=False):
|
def all_machines(self, graphic=False):
|
||||||
"""
|
"""
|
||||||
|
@ -1010,10 +1011,10 @@ class BaseClasseCrans(CransLdap):
|
||||||
ex: {'upload': [(1143336210, 1143509010), ...]}
|
ex: {'upload': [(1143336210, 1143509010), ...]}
|
||||||
"""
|
"""
|
||||||
bl_liste = self._data.get('blacklist', [])
|
bl_liste = self._data.get('blacklist', [])
|
||||||
|
|
||||||
actifs = {}
|
actifs = {}
|
||||||
inactifs = {}
|
inactifs = {}
|
||||||
|
|
||||||
if isinstance(self, Machine):
|
if isinstance(self, Machine):
|
||||||
# Il faut aussi regarder la blackliste du propriétaire
|
# Il faut aussi regarder la blackliste du propriétaire
|
||||||
p = self.proprietaire()
|
p = self.proprietaire()
|
||||||
|
@ -1541,13 +1542,13 @@ class BaseProprietaire(BaseClasseCrans):
|
||||||
return liste
|
return liste
|
||||||
else:
|
else:
|
||||||
index = -1
|
index = -1
|
||||||
|
|
||||||
new = format_gpg_fingerprint(new)
|
new = format_gpg_fingerprint(new)
|
||||||
new = new.upper()
|
new = new.upper()
|
||||||
|
|
||||||
#if gpgexists(new):
|
#if gpgexists(new):
|
||||||
# raise ValueError(u"Alias existant ou correspondand à un compte.")
|
# raise ValueError(u"Alias existant ou correspondand à un compte.")
|
||||||
|
|
||||||
if index != -1:
|
if index != -1:
|
||||||
liste[index] = new
|
liste[index] = new
|
||||||
else:
|
else:
|
||||||
|
@ -1802,7 +1803,7 @@ class BaseProprietaire(BaseClasseCrans):
|
||||||
si négatif le supprime
|
si négatif le supprime
|
||||||
"""
|
"""
|
||||||
return self._an('paiement', action)
|
return self._an('paiement', action)
|
||||||
|
|
||||||
def sursis_carte(self):
|
def sursis_carte(self):
|
||||||
for h in self.historique()[::-1]:
|
for h in self.historique()[::-1]:
|
||||||
x=re.match("(.*),.* : .*(paiement\+%s|inscription).*" % config.ann_scol,h)
|
x=re.match("(.*),.* : .*(paiement\+%s|inscription).*" % config.ann_scol,h)
|
||||||
|
@ -1818,7 +1819,7 @@ class BaseProprietaire(BaseClasseCrans):
|
||||||
return self.sursis_carte()
|
return self.sursis_carte()
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def delete(self, comment=''):
|
def delete(self, comment=''):
|
||||||
"""Destruction du propriétaire"""
|
"""Destruction du propriétaire"""
|
||||||
|
@ -2600,7 +2601,11 @@ class Adherent(BaseProprietaire):
|
||||||
if self.historique():
|
if self.historique():
|
||||||
h = self.historique()[0]
|
h = self.historique()[0]
|
||||||
h = h[:h.find(",")]
|
h = h[:h.find(",")]
|
||||||
return time.mktime(time.strptime(h, date_format))
|
try:
|
||||||
|
dateInsc = time.mktime(time.strptime(h, date_format_new))
|
||||||
|
except:
|
||||||
|
dateInsc = time.mktime(time.strptime(h, date_format))
|
||||||
|
return dateInsc
|
||||||
else:
|
else:
|
||||||
# Lors de l'inscription d'un nouvel adhérent, celui-ci n'a pas
|
# Lors de l'inscription d'un nouvel adhérent, celui-ci n'a pas
|
||||||
# encore d'historique. On retourne alors la date en cours.
|
# encore d'historique. On retourne alors la date en cours.
|
||||||
|
@ -3037,7 +3042,7 @@ Contactez nounou si la MAC est bien celle d'une carte.""", 3)
|
||||||
|
|
||||||
#if sshexists(new):
|
#if sshexists(new):
|
||||||
# raise ValueError(u"FPR existant ou correspondand à un compte.")
|
# raise ValueError(u"FPR existant ou correspondand à un compte.")
|
||||||
|
|
||||||
if index != -1:
|
if index != -1:
|
||||||
liste[index] = new
|
liste[index] = new
|
||||||
else:
|
else:
|
||||||
|
@ -3215,7 +3220,7 @@ Contactez nounou si la MAC est bien celle d'une carte.""", 3)
|
||||||
|
|
||||||
# On vire les doublons dans reconf_ip
|
# On vire les doublons dans reconf_ip
|
||||||
reconf_ip = list(dict(zip(reconf_ip, [None]*len(reconf_ip))))
|
reconf_ip = list(dict(zip(reconf_ip, [None]*len(reconf_ip))))
|
||||||
|
|
||||||
# Si la configuration ip à changer on met dynamiquement à jour le dhcp
|
# Si la configuration ip à changer on met dynamiquement à jour le dhcp
|
||||||
if reconf_ip:
|
if reconf_ip:
|
||||||
from gen_confs.dhcpd_new import dydhcp
|
from gen_confs.dhcpd_new import dydhcp
|
||||||
|
@ -3291,7 +3296,7 @@ Contactez nounou si la MAC est bien celle d'une carte.""", 3)
|
||||||
self.proprio = self.__proprietaire.Nom() # On met dans un coin le nom du proprio
|
self.proprio = self.__proprietaire.Nom() # On met dans un coin le nom du proprio
|
||||||
self.__proprietaire = None # On oublie le propriétaire
|
self.__proprietaire = None # On oublie le propriétaire
|
||||||
self._delete(self.dn, comment)
|
self._delete(self.dn, comment)
|
||||||
|
|
||||||
# On supprime la machine du dhcp
|
# On supprime la machine du dhcp
|
||||||
from gen_confs.dhcpd_new import dydhcp
|
from gen_confs.dhcpd_new import dydhcp
|
||||||
for server in config.dhcp_servers:
|
for server in config.dhcp_servers:
|
||||||
|
|
|
@ -363,7 +363,7 @@ def list_spec(machines) :
|
||||||
* nom
|
* nom
|
||||||
* adresse IPv4/IPv6
|
* adresse IPv4/IPv6
|
||||||
* adresse MAC
|
* adresse MAC
|
||||||
|
|
||||||
Pour les bornes :
|
Pour les bornes :
|
||||||
* État
|
* État
|
||||||
* puissance
|
* puissance
|
||||||
|
@ -485,7 +485,7 @@ def adher_details(adher) :
|
||||||
|
|
||||||
# État administratif
|
# État administratif
|
||||||
f += coul("Date d'inscription : ", "gras")
|
f += coul("Date d'inscription : ", "gras")
|
||||||
f += strftime('%d/%m/%Y %H:%M', localtime(adher.dateInscription()))
|
f += strftime('%d/%m/%Y %H:%M:%S', localtime(adher.dateInscription()))
|
||||||
f += coul(u'\nÉtat administratif : ','gras')
|
f += coul(u'\nÉtat administratif : ','gras')
|
||||||
jour=1
|
jour=1
|
||||||
if ann_scol not in adher.carteEtudiant() :
|
if ann_scol not in adher.carteEtudiant() :
|
||||||
|
@ -926,7 +926,7 @@ def __bases_machines(m) :
|
||||||
""" Retourne [ type de la machines, blacklist ] """
|
""" Retourne [ type de la machines, blacklist ] """
|
||||||
#Type
|
#Type
|
||||||
t = 'inconnu'
|
t = 'inconnu'
|
||||||
t, _ = ridtools.find_rid_plage(int(m.rid()))
|
t, _ = ridtools.find_rid_plage(int(m.rid()))
|
||||||
|
|
||||||
# Déconnectée ?
|
# Déconnectée ?
|
||||||
b = m.blacklist_actif()
|
b = m.blacklist_actif()
|
||||||
|
@ -1352,6 +1352,7 @@ if __name__ == '__main__' :
|
||||||
cprint(u"""Une erreur fatale s'est produite durant l'exécution.
|
cprint(u"""Une erreur fatale s'est produite durant l'exécution.
|
||||||
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
|
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
|
||||||
marche à suivre pour reproduire cette erreur.""")
|
marche à suivre pour reproduire cette erreur.""")
|
||||||
|
raise
|
||||||
if debug :
|
if debug :
|
||||||
cprint('-'*40)
|
cprint('-'*40)
|
||||||
cprint(u'Détails techniques :')
|
cprint(u'Détails techniques :')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue