crans -> AssociationCrans
adherent -> Adherent club -> Club darcs-hash:20060325215156-68412-615c1bfb3b23e16cd10b82cc3dc467e716c258ea.gz
This commit is contained in:
parent
0a53921e05
commit
f16056b8b4
12 changed files with 62 additions and 64 deletions
|
@ -10,7 +10,7 @@ Utilis
|
||||||
|
|
||||||
import sys, os, commands
|
import sys, os, commands
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
from ldap_crans import crans, BorneWifi
|
from ldap_crans import AssociationCrans, BorneWifi
|
||||||
from gen_confs import gen_config
|
from gen_confs import gen_config
|
||||||
|
|
||||||
# définition de la classe
|
# définition de la classe
|
||||||
|
@ -136,7 +136,7 @@ class autostatus(gen_config) :
|
||||||
# machines crans
|
# machines crans
|
||||||
################
|
################
|
||||||
|
|
||||||
machines = crans().machines()
|
machines = AssociationCrans().machines()
|
||||||
# Quand un serveur est à la fois dans adm et dans autre chose,
|
# Quand un serveur est à la fois dans adm et dans autre chose,
|
||||||
# on garde que le autre chose
|
# on garde que le autre chose
|
||||||
machines2 = machines
|
machines2 = machines
|
||||||
|
|
|
@ -28,8 +28,8 @@ sys.path.append('/usr/scripts/gestion')
|
||||||
import syslog
|
import syslog
|
||||||
import pwd
|
import pwd
|
||||||
from lock import *
|
from lock import *
|
||||||
from ldap_crans import crans_ldap, ann_scol, crans, hostname
|
from ldap_crans import crans_ldap, ann_scol, hostname
|
||||||
from ldap_crans import Machine, MachineWifi
|
from ldap_crans import AssociationCrans, Machine, MachineWifi
|
||||||
from affich_tools import *
|
from affich_tools import *
|
||||||
from commands import getstatusoutput
|
from commands import getstatusoutput
|
||||||
from iptools import AddrInNet
|
from iptools import AddrInNet
|
||||||
|
@ -285,7 +285,7 @@ class firewall_crans :
|
||||||
serveur_maj = True
|
serveur_maj = True
|
||||||
# Il faut avoir payé ou être une machine du crans
|
# Il faut avoir payé ou être une machine du crans
|
||||||
if db.search('paiement=ok&ip=%s'% ip)['machine'] or \
|
if db.search('paiement=ok&ip=%s'% ip)['machine'] or \
|
||||||
machine[0].proprietaire().__class__ == crans:
|
machine[0].proprietaire().__class__ == AssociationCrans:
|
||||||
mac_ip_maj[ip] = machine[0]
|
mac_ip_maj[ip] = machine[0]
|
||||||
else :
|
else :
|
||||||
mac_ip_maj[ip] = None
|
mac_ip_maj[ip] = None
|
||||||
|
|
|
@ -17,7 +17,7 @@ import sys, signal, os, getopt
|
||||||
|
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
|
|
||||||
from ldap_crans import crans_ldap, crans, hostname
|
from ldap_crans import crans_ldap, hostname
|
||||||
from lock import *
|
from lock import *
|
||||||
from affich_tools import anim, cprint, OK
|
from affich_tools import anim, cprint, OK
|
||||||
from time import localtime, strftime, time, sleep, timezone
|
from time import localtime, strftime, time, sleep, timezone
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
import sys, smtplib, commands
|
import sys, smtplib, commands
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
from ldap_crans import smtpserv, crans, crans_ldap, Machine, adherent, club
|
from ldap_crans import smtpserv, crans_ldap, Machine, Adherent, Club
|
||||||
from whos import machine_details, adher_details, club_details
|
from whos import machine_details, adher_details, club_details
|
||||||
from gen_confs import gen_config
|
from gen_confs import gen_config
|
||||||
from affich_tools import cprint, OK, anim
|
from affich_tools import cprint, OK, anim
|
||||||
|
|
||||||
class mail :
|
class mail:
|
||||||
"""
|
"""
|
||||||
Envoie un mail à toutes les personnes de la liste 'To', avec les
|
Envoie un mail à toutes les personnes de la liste 'To', avec les
|
||||||
informations détaillées des objets contenus dans 'objets'
|
informations détaillées des objets contenus dans 'objets'
|
||||||
(instances des classes adherent, machine ou club) """
|
(instances des classes Adherent, Machine ou Club) """
|
||||||
|
|
||||||
From = 'root@crans.org'
|
From = 'root@crans.org'
|
||||||
To = [ 'roots@crans.org' ]
|
To = [ 'roots@crans.org' ]
|
||||||
|
@ -47,9 +47,9 @@ Subject: %(Subject)s
|
||||||
vus.append(res.dn)
|
vus.append(res.dn)
|
||||||
if isinstance(res, Machine):
|
if isinstance(res, Machine):
|
||||||
details.append(machine_details(res))
|
details.append(machine_details(res))
|
||||||
elif res.__class__ == adherent :
|
elif res.__class__ == Adherent:
|
||||||
details.append(adher_details(res))
|
details.append(adher_details(res))
|
||||||
elif res.__class__ == club :
|
elif res.__class__ == Club:
|
||||||
details.append(club_details(res))
|
details.append(club_details(res))
|
||||||
a.cycle()
|
a.cycle()
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ class machines(gen_config) :
|
||||||
# recherche de toutes les machines dans ldap
|
# recherche de toutes les machines dans ldap
|
||||||
import sys
|
import sys
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
from ldap_crans import crans_ldap, club, adherent, crans
|
from ldap_crans import crans_ldap, Club, Adherent, AssociationCrans
|
||||||
machines = crans_ldap().search('ip=*')['machine']
|
machines = crans_ldap().search('ip=*')['machine']
|
||||||
|
|
||||||
# liste des machines (on prend que les paimement ok)
|
# liste des machines (on prend que les paimement ok)
|
||||||
|
@ -78,11 +78,11 @@ class machines(gen_config) :
|
||||||
|
|
||||||
# ajout des entrée
|
# ajout des entrée
|
||||||
for m in machines:
|
for m in machines:
|
||||||
if m.proprietaire().__class__ == club:
|
if m.proprietaire().__class__ == Club:
|
||||||
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','club',%s);"%(m.ip(),m.proprietaire().id()))
|
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','club',%s);"%(m.ip(),m.proprietaire().id()))
|
||||||
elif m.proprietaire().__class__ == adherent:
|
elif m.proprietaire().__class__ == Adherent:
|
||||||
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','adherent',%s);"%(m.ip(),m.proprietaire().id()))
|
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','adherent',%s);"%(m.ip(),m.proprietaire().id()))
|
||||||
elif m.proprietaire().__class__ == crans:
|
elif m.proprietaire().__class__ == AssociationCrans:
|
||||||
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','crans',%s);"%(m.ip(),m.id()))
|
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','crans',%s);"%(m.ip(),m.id()))
|
||||||
|
|
||||||
# on commit
|
# on commit
|
||||||
|
|
|
@ -28,7 +28,8 @@ import re
|
||||||
|
|
||||||
import affich_tools, config
|
import affich_tools, config
|
||||||
from lock import make_lock, remove_lock
|
from lock import make_lock, remove_lock
|
||||||
from ldap_crans import adherent, crans_ldap, crans, club, blacklist_items, isadm, isdeconnecteur, ann_scol, droits_possibles, smtpserv, script_utilisateur
|
from ldap_crans import crans_ldap, blacklist_items, isadm, isdeconnecteur, ann_scol, droits_possibles, smtpserv, script_utilisateur
|
||||||
|
from ldap_crans import Adherent, AssociationCrans, Club
|
||||||
from ldap_crans import Machine, MachineFixe, MachineWifi, MachineCrans, BorneWifi
|
from ldap_crans import Machine, MachineFixe, MachineWifi, MachineCrans, BorneWifi
|
||||||
|
|
||||||
def dialog(arg) :
|
def dialog(arg) :
|
||||||
|
@ -1155,7 +1156,7 @@ def set_machine(machine) :
|
||||||
* Remarque
|
* Remarque
|
||||||
Si borne wifi demande aussi canal et puissance
|
Si borne wifi demande aussi canal et puissance
|
||||||
"""
|
"""
|
||||||
if machine.proprietaire().__class__ == crans :
|
if machine.proprietaire().__class__ == AssociationCrans:
|
||||||
if not isadm :
|
if not isadm :
|
||||||
arg = u'--title "Erreur" '
|
arg = u'--title "Erreur" '
|
||||||
arg+= u'--msgbox "Vous n\'avez pas les droits de modification de cette machine.\n\n" 0 0'
|
arg+= u'--msgbox "Vous n\'avez pas les droits de modification de cette machine.\n\n" 0 0'
|
||||||
|
@ -1184,7 +1185,7 @@ def set_machine(machine) :
|
||||||
p = u'Mettre le lieu de la borne comme première remarque.'
|
p = u'Mettre le lieu de la borne comme première remarque.'
|
||||||
arg+= u'"Canaux :" 2 35 "%s" 2 43 14 0 ' % machine.canal(None,False)
|
arg+= u'"Canaux :" 2 35 "%s" 2 43 14 0 ' % machine.canal(None,False)
|
||||||
arg+= u'"Puissance :" 3 35 "%s" 3 47 4 0 ' % machine.puissance()
|
arg+= u'"Puissance :" 3 35 "%s" 3 47 4 0 ' % machine.puissance()
|
||||||
if isadm and machine.proprietaire().__class__ == crans :
|
if isadm and machine.proprietaire().__class__ == AssociationCrans:
|
||||||
arg+= u'"Prise :" 8 1 "%s" 8 9 5 0 ' % machine.prise()
|
arg+= u'"Prise :" 8 1 "%s" 8 9 5 0 ' % machine.prise()
|
||||||
|
|
||||||
else :
|
else :
|
||||||
|
@ -1237,7 +1238,7 @@ def set_machine(machine) :
|
||||||
try : machine.puissance(result[8])
|
try : machine.puissance(result[8])
|
||||||
except ValueError, c : err += c.args[0] + '\n'
|
except ValueError, c : err += c.args[0] + '\n'
|
||||||
|
|
||||||
if isadm and machine.proprietaire().__class__ == crans :
|
if isadm and machine.proprietaire().__class__ == AssociationCrans:
|
||||||
try : machine.prise(result[-1])
|
try : machine.prise(result[-1])
|
||||||
except ValueError,c : err += c.args[0] + '\n'
|
except ValueError,c : err += c.args[0] + '\n'
|
||||||
|
|
||||||
|
@ -1641,7 +1642,7 @@ def select(clas,quoi,mde='') :
|
||||||
else :
|
else :
|
||||||
raise TypeError('Argument fonction invalide')
|
raise TypeError('Argument fonction invalide')
|
||||||
|
|
||||||
if not valid or ( len(valid)==1 and quoi[-1] == 'a' and valid[0].__class__ == crans ) :
|
if not valid or (len(valid) == 1 and quoi[-1] == 'a' and valid[0].__class__ == AssociationCrans):
|
||||||
arg = u'--title "Recherche" '
|
arg = u'--title "Recherche" '
|
||||||
arg+= u'--msgbox "Aucun résultat.\n\n\n" 0 0'
|
arg+= u'--msgbox "Aucun résultat.\n\n\n" 0 0'
|
||||||
dialog(arg)
|
dialog(arg)
|
||||||
|
@ -1716,12 +1717,12 @@ def menu_principal() :
|
||||||
arg+= u'--help-button --item-help --cancel-label "Quitter" '
|
arg+= u'--help-button --item-help --cancel-label "Quitter" '
|
||||||
arg+= u'--default-item "%s" ' % choix
|
arg+= u'--default-item "%s" ' % choix
|
||||||
arg+= u'--menu "Que souhaitez vous faire ?" 0 55 13 '
|
arg+= u'--menu "Que souhaitez vous faire ?" 0 55 13 '
|
||||||
if proprio.__class__ == adherent :
|
if proprio.__class__ == Adherent :
|
||||||
arg+= u'"mAc"'
|
arg+= u'"mAc"'
|
||||||
elif proprio.__class__ == club :
|
elif proprio.__class__ == Club :
|
||||||
arg+= u'"mCc"'
|
arg+= u'"mCc"'
|
||||||
if proprio :
|
if proprio :
|
||||||
if proprio.__class__ != crans :
|
if proprio.__class__ != AssociationCrans:
|
||||||
arg+= u' "Modifier l\'inscription de %s" "" ' % proprio.Nom()
|
arg+= u' "Modifier l\'inscription de %s" "" ' % proprio.Nom()
|
||||||
arg+= u'"aMc" "Ajouter une machine à %s" "" ' % proprio.Nom()
|
arg+= u'"aMc" "Ajouter une machine à %s" "" ' % proprio.Nom()
|
||||||
if becane :
|
if becane :
|
||||||
|
@ -1763,7 +1764,7 @@ def menu_principal() :
|
||||||
|
|
||||||
if choix=='aA' :
|
if choix=='aA' :
|
||||||
# Inscription nouvel adhérent
|
# Inscription nouvel adhérent
|
||||||
proprio = adherent()
|
proprio = Adherent()
|
||||||
if new_adher(proprio) :
|
if new_adher(proprio) :
|
||||||
del proprio
|
del proprio
|
||||||
proprio = None
|
proprio = None
|
||||||
|
@ -1795,7 +1796,7 @@ def menu_principal() :
|
||||||
|
|
||||||
elif choix=='aC' :
|
elif choix=='aC' :
|
||||||
# Ajout d'un club
|
# Ajout d'un club
|
||||||
proprio = club()
|
proprio = Club()
|
||||||
if new_club(proprio) :
|
if new_club(proprio) :
|
||||||
del proprio ; proprio = None
|
del proprio ; proprio = None
|
||||||
else : choix = 'aMc' # ajout d'une machine
|
else : choix = 'aMc' # ajout d'une machine
|
||||||
|
@ -1831,13 +1832,13 @@ def menu_principal() :
|
||||||
|
|
||||||
elif choix=='aKM' :
|
elif choix=='aKM' :
|
||||||
# Ajout machine au crans
|
# Ajout machine au crans
|
||||||
becane = MachineCrans(crans(db.conn))
|
becane = MachineCrans(AssociationCrans(db.conn))
|
||||||
if set_machine(becane) :
|
if set_machine(becane) :
|
||||||
becane.restore()
|
becane.restore()
|
||||||
|
|
||||||
elif choix=='aKB' :
|
elif choix=='aKB' :
|
||||||
# Ajout borne wifi
|
# Ajout borne wifi
|
||||||
becane = BorneWifi(crans(db.conn))
|
becane = BorneWifi(AssociationCrans(db.conn))
|
||||||
if set_machine(becane) :
|
if set_machine(becane) :
|
||||||
becane.restore()
|
becane.restore()
|
||||||
|
|
||||||
|
@ -1845,7 +1846,7 @@ def menu_principal() :
|
||||||
|
|
||||||
if choix=='aMc' :
|
if choix=='aMc' :
|
||||||
# Ajout d'une machine à l'adhérent/au club courant
|
# Ajout d'une machine à l'adhérent/au club courant
|
||||||
if proprio.__class__ == club or proprio.etudes(0) != "ENS" or \
|
if proprio.__class__ == Club or proprio.etudes(0) != "ENS" or \
|
||||||
proprio.etudes(1) != "Pers":
|
proprio.etudes(1) != "Pers":
|
||||||
|
|
||||||
# On ne peut avoir de machine fixe si on n'a pas payé
|
# On ne peut avoir de machine fixe si on n'a pas payé
|
||||||
|
@ -1857,7 +1858,7 @@ def menu_principal() :
|
||||||
# (expérimental)
|
# (expérimental)
|
||||||
|
|
||||||
# On récupère la liste des machines fixes
|
# On récupère la liste des machines fixes
|
||||||
if (proprio.__class__ == club or (caution_ok and \
|
if (proprio.__class__ == Club or (caution_ok and \
|
||||||
(not proprio.machines_fixes() or proprio.droits()))):
|
(not proprio.machines_fixes() or proprio.droits()))):
|
||||||
arg = u'--title "Nouvelle machine" '
|
arg = u'--title "Nouvelle machine" '
|
||||||
arg+= u'--menu "Type de machine ?" 0 0 0 '
|
arg+= u'--menu "Type de machine ?" 0 0 0 '
|
||||||
|
|
|
@ -554,10 +554,7 @@ class crans_ldap:
|
||||||
nom_classe = (entry[1].get('objectClass') or ['none'])[0]
|
nom_classe = (entry[1].get('objectClass') or ['none'])[0]
|
||||||
nom_classe = nom_classe[0].upper() + nom_classe[1:]
|
nom_classe = nom_classe[0].upper() + nom_classe[1:]
|
||||||
try:
|
try:
|
||||||
# Hack temporaire, à enlever quand on aura tout renommé
|
classe = eval(nom_classe)
|
||||||
if nom_classe in ['Adherent', 'Club']:
|
|
||||||
nom_classe = nom_classe.lower()
|
|
||||||
classe = globals()[nom_classe]
|
|
||||||
# On crée l'objet
|
# On crée l'objet
|
||||||
return classe(entry, mode, self.conn)
|
return classe(entry, mode, self.conn)
|
||||||
except:
|
except:
|
||||||
|
@ -803,7 +800,7 @@ class crans_ldap:
|
||||||
# Récolte des données
|
# Récolte des données
|
||||||
if graphic: cprint('Lecture base LDAP', 'gras')
|
if graphic: cprint('Lecture base LDAP', 'gras')
|
||||||
# Machines de l'assoce
|
# Machines de l'assoce
|
||||||
self.__machines = crans(self.conn).machines()
|
self.__machines = AssociationCrans(self.conn).machines()
|
||||||
# Machines des adhérents et clubs de l'année en cours
|
# Machines des adhérents et clubs de l'année en cours
|
||||||
base = self.search('paiement=ok')
|
base = self.search('paiement=ok')
|
||||||
base = base['adherent'] + base['club']
|
base = base['adherent'] + base['club']
|
||||||
|
@ -1198,7 +1195,7 @@ class base_classes_crans(crans_ldap):
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
class base_proprietaire(base_classes_crans):
|
class base_proprietaire(base_classes_crans):
|
||||||
""" Méthodes de bases pour les classes adherent et club """
|
""" Méthodes de bases pour les classes Adherent et Club """
|
||||||
def __init__(self, data=(), mode='', conn=None):
|
def __init__(self, data=(), mode='', conn=None):
|
||||||
"""
|
"""
|
||||||
Si data est fourni initialise l'adhérent avec les valeurs données
|
Si data est fourni initialise l'adhérent avec les valeurs données
|
||||||
|
@ -1591,14 +1588,14 @@ class base_proprietaire(base_classes_crans):
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
class adherent(base_proprietaire):
|
class Adherent(base_proprietaire):
|
||||||
""" Classe de définition d'un adhérent """
|
""" Classe de définition d'un adhérent """
|
||||||
objectClass = 'adherent'
|
objectClass = 'adherent'
|
||||||
idn = 'aid'
|
idn = 'aid'
|
||||||
filtre_idn = '(objectClass=adherent)'
|
filtre_idn = '(objectClass=adherent)'
|
||||||
|
|
||||||
### Méthodes Nom utilisée lors de l'affichage des propriétés
|
### Méthodes Nom utilisée lors de l'affichage des propriétés
|
||||||
### (commune avec les classes crans et club)
|
### (commune avec les classes AssociationCrans et Club)
|
||||||
def Nom(self):
|
def Nom(self):
|
||||||
""" Retourne prenom nom """
|
""" Retourne prenom nom """
|
||||||
return "%s %s" % ( self.prenom() , self.nom() )
|
return "%s %s" % ( self.prenom() , self.nom() )
|
||||||
|
@ -2013,7 +2010,7 @@ class adherent(base_proprietaire):
|
||||||
# renvoie la valeur trouvée dans la base
|
# renvoie la valeur trouvée dans la base
|
||||||
return self._data.get('rewriteMailHeaders', ['oui']) == ['oui']
|
return self._data.get('rewriteMailHeaders', ['oui']) == ['oui']
|
||||||
|
|
||||||
class club(base_proprietaire):
|
class Club(base_proprietaire):
|
||||||
""" Classe de définition d'un club """
|
""" Classe de définition d'un club """
|
||||||
idn = 'cid'
|
idn = 'cid'
|
||||||
filtre_idn = '(objectClass=club)'
|
filtre_idn = '(objectClass=club)'
|
||||||
|
@ -2051,7 +2048,7 @@ class club(base_proprietaire):
|
||||||
return self.search('aid=%s' % aid)['adherent'][0]
|
return self.search('aid=%s' % aid)['adherent'][0]
|
||||||
else: return ''
|
else: return ''
|
||||||
|
|
||||||
if adher.__class__ != adherent:
|
if adher.__class__ != Adherent:
|
||||||
raise ValueError
|
raise ValueError
|
||||||
|
|
||||||
if not adher.id():
|
if not adher.id():
|
||||||
|
@ -2151,8 +2148,8 @@ class Machine(base_classes_crans):
|
||||||
"""
|
"""
|
||||||
parent_or_tuple est :
|
parent_or_tuple est :
|
||||||
* soit une instance d'une classe pouvant posséder une machine
|
* soit une instance d'une classe pouvant posséder une machine
|
||||||
(adherent, club ou crans), la nouvelle machine lui sera alors
|
(Adherent, Club ou AssociationCrans), la nouvelle machine lui
|
||||||
associée.
|
sera alors associée.
|
||||||
* soit directement le tuple définissant une machine (tel que
|
* soit directement le tuple définissant une machine (tel que
|
||||||
retourné par les fonctions de recherche ldap)
|
retourné par les fonctions de recherche ldap)
|
||||||
typ permet de définir le type de machine : wifi ou fixe,
|
typ permet de définir le type de machine : wifi ou fixe,
|
||||||
|
@ -2196,7 +2193,7 @@ class Machine(base_classes_crans):
|
||||||
# Propriéraire inconnu mais ce n'est pas grave
|
# Propriéraire inconnu mais ce n'est pas grave
|
||||||
self.__proprietaire = None
|
self.__proprietaire = None
|
||||||
|
|
||||||
elif t in [ adherent, club, crans ] and typ in [ 'fixe' , 'wifi' , 'borne' ]:
|
elif t in [ Adherent, Club, AssociationCrans ] and typ in [ 'fixe' , 'wifi' , 'borne' ]:
|
||||||
# Machine vide
|
# Machine vide
|
||||||
self.__proprietaire = parent_or_tuple
|
self.__proprietaire = parent_or_tuple
|
||||||
self.dn = parent_or_tuple.dn
|
self.dn = parent_or_tuple.dn
|
||||||
|
@ -2281,7 +2278,7 @@ class Machine(base_classes_crans):
|
||||||
if l<2:
|
if l<2:
|
||||||
raise ValueError(u"%s trop court." % champ.capitalize())
|
raise ValueError(u"%s trop court." % champ.capitalize())
|
||||||
|
|
||||||
if self.proprietaire().__class__ != crans:
|
if self.proprietaire().__class__ != AssociationCrans:
|
||||||
new = new.split('.', 1)[0]
|
new = new.split('.', 1)[0]
|
||||||
for c in new[:]:
|
for c in new[:]:
|
||||||
if not c in (string.letters + string.digits + '-'):
|
if not c in (string.letters + string.digits + '-'):
|
||||||
|
@ -2329,7 +2326,7 @@ class Machine(base_classes_crans):
|
||||||
Si la prise est inconne retourne N/A
|
Si la prise est inconne retourne N/A
|
||||||
"""
|
"""
|
||||||
if new == None:
|
if new == None:
|
||||||
if self.proprietaire().__class__ == crans:
|
if self.proprietaire().__class__ == AssociationCrans:
|
||||||
return decode(self._data.get('prise', ['N/A'])[0])
|
return decode(self._data.get('prise', ['N/A'])[0])
|
||||||
else:
|
else:
|
||||||
chbre = self.proprietaire().chbre()
|
chbre = self.proprietaire().chbre()
|
||||||
|
@ -2396,7 +2393,7 @@ class Machine(base_classes_crans):
|
||||||
if ip == None:
|
if ip == None:
|
||||||
if self._data.has_key('ipHostNumber'):
|
if self._data.has_key('ipHostNumber'):
|
||||||
return decode(self._data['ipHostNumber'][0])
|
return decode(self._data['ipHostNumber'][0])
|
||||||
elif self.proprietaire().__class__ == crans and self.__typ != 'borne':
|
elif self.proprietaire().__class__ == AssociationCrans and self.__typ != 'borne':
|
||||||
return ''
|
return ''
|
||||||
else:
|
else:
|
||||||
return '<automatique>'
|
return '<automatique>'
|
||||||
|
@ -2412,7 +2409,7 @@ class Machine(base_classes_crans):
|
||||||
net = config.NETs['wifi']
|
net = config.NETs['wifi']
|
||||||
elif self.__typ == 'borne':
|
elif self.__typ == 'borne':
|
||||||
net = config.NETs['bornes']
|
net = config.NETs['bornes']
|
||||||
elif self.proprietaire().__class__ == crans:
|
elif self.proprietaire().__class__ == AssociationCrans:
|
||||||
net = [ '0.0.0.0/0' ]
|
net = [ '0.0.0.0/0' ]
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
@ -2512,16 +2509,16 @@ class Machine(base_classes_crans):
|
||||||
|
|
||||||
def proprietaire(self):
|
def proprietaire(self):
|
||||||
"""
|
"""
|
||||||
retroune le propriétaire de la machine (classe adherent, club ou crans)
|
retroune le propriétaire de la machine (classe Adherent, Club ou AssociationCrans)
|
||||||
"""
|
"""
|
||||||
if not self.__proprietaire:
|
if not self.__proprietaire:
|
||||||
res = self.conn.search_s(','.join(self.dn.split(',')[1:]), 0)
|
res = self.conn.search_s(','.join(self.dn.split(',')[1:]), 0)
|
||||||
if 'adherent' in res[0][1]['objectClass']:
|
if 'adherent' in res[0][1]['objectClass']:
|
||||||
self.__proprietaire = adherent(res[0], self._modifiable, self.conn)
|
self.__proprietaire = Adherent(res[0], self._modifiable, self.conn)
|
||||||
elif 'club' in res[0][1]['objectClass']:
|
elif 'club' in res[0][1]['objectClass']:
|
||||||
self.__proprietaire = club(res[0], self._modifiable, self.conn)
|
self.__proprietaire = Club(res[0], self._modifiable, self.conn)
|
||||||
else:
|
else:
|
||||||
self.__proprietaire = crans(self.conn)
|
self.__proprietaire = AssociationCrans(self.conn)
|
||||||
|
|
||||||
return self.__proprietaire
|
return self.__proprietaire
|
||||||
|
|
||||||
|
@ -2530,7 +2527,7 @@ class Machine(base_classes_crans):
|
||||||
Enregistre la machine courante dans la base LDAP
|
Enregistre la machine courante dans la base LDAP
|
||||||
Retourne une chaîne indiquant les opération effectuées.
|
Retourne une chaîne indiquant les opération effectuées.
|
||||||
"""
|
"""
|
||||||
if self.proprietaire().__class__ == crans and not (isadm or user_tests.getuser() == 'www-data'):
|
if self.proprietaire().__class__ == AssociationCrans and not (isadm or user_tests.getuser() == 'www-data'):
|
||||||
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
|
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
|
||||||
|
|
||||||
if not self._init_data:
|
if not self._init_data:
|
||||||
|
@ -2588,7 +2585,7 @@ class Machine(base_classes_crans):
|
||||||
self.services_to_restart(s, [self.ip()])
|
self.services_to_restart(s, [self.ip()])
|
||||||
|
|
||||||
# Regénération de l'autostatus et mail de changmement ?
|
# Regénération de l'autostatus et mail de changmement ?
|
||||||
if self.proprietaire().__class__ == crans:
|
if self.proprietaire().__class__ == AssociationCrans:
|
||||||
self.services_to_restart('autostatus')
|
self.services_to_restart('autostatus')
|
||||||
self.services_to_restart('mail_modif', ['ip=%s' % self.ip()])
|
self.services_to_restart('mail_modif', ['ip=%s' % self.ip()])
|
||||||
|
|
||||||
|
@ -2610,7 +2607,7 @@ class Machine(base_classes_crans):
|
||||||
|
|
||||||
def delete(self, comment=''):
|
def delete(self, comment=''):
|
||||||
""" Destruction de la machines """
|
""" Destruction de la machines """
|
||||||
if self.proprietaire().__class__ == crans and not isadm:
|
if self.proprietaire().__class__ == AssociationCrans and not isadm:
|
||||||
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
|
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
|
||||||
|
|
||||||
|
|
||||||
|
@ -2908,7 +2905,7 @@ class _FakeProprio(crans_ldap):
|
||||||
m.append(self.make(r))
|
m.append(self.make(r))
|
||||||
return m
|
return m
|
||||||
|
|
||||||
class crans(_FakeProprio):
|
class AssociationCrans(_FakeProprio):
|
||||||
""" Classe définissant l'assoce (pour affichage de ses machines) """
|
""" Classe définissant l'assoce (pour affichage de ses machines) """
|
||||||
def __init__(self, conn=None):
|
def __init__(self, conn=None):
|
||||||
_FakeProprio.__init__(self, conn)
|
_FakeProprio.__init__(self, conn)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
import sys
|
import sys
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
|
|
||||||
from ldap_crans import crans_ldap, decode, crans
|
from ldap_crans import crans_ldap, decode, AssociationCrans
|
||||||
|
|
||||||
db = crans_ldap()
|
db = crans_ldap()
|
||||||
machines = db.search('portTCPin=*')['machine'] + db.search('portTCPout=*')['machine'] + db.search('portUDPin=*')['machine'] + db.search('portUDPout=*')['machine']
|
machines = db.search('portTCPin=*')['machine'] + db.search('portTCPout=*')['machine'] + db.search('portUDPin=*')['machine'] + db.search('portUDPout=*')['machine']
|
||||||
|
@ -16,7 +16,7 @@ for m in machines :
|
||||||
# on vérifie qu'on l'a pas encore traité
|
# on vérifie qu'on l'a pas encore traité
|
||||||
if m.ip() in done :
|
if m.ip() in done :
|
||||||
continue
|
continue
|
||||||
if m.proprietaire().__class__ == crans :
|
if m.proprietaire().__class__ == AssociationCrans :
|
||||||
continue
|
continue
|
||||||
done.append(m.ip())
|
done.append(m.ip())
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ except:
|
||||||
|
|
||||||
base = None
|
base = None
|
||||||
|
|
||||||
from ldap_crans import is_actif, crans_ldap, ann_scol, crans, hostname
|
from ldap_crans import is_actif, crans_ldap, ann_scol, AssociationCrans, hostname
|
||||||
from ldap_crans import MachineWifi, BorneWifi
|
from ldap_crans import MachineWifi, BorneWifi
|
||||||
from affich_tools import *
|
from affich_tools import *
|
||||||
import user_tests
|
import user_tests
|
||||||
|
@ -475,7 +475,7 @@ def machine_details(machine) :
|
||||||
f+= coul(u'Propriétaire : ','gras')
|
f+= coul(u'Propriétaire : ','gras')
|
||||||
try :
|
try :
|
||||||
f += machine.proprio + coul(' (adhérent détruit)', 'jaune')
|
f += machine.proprio + coul(' (adhérent détruit)', 'jaune')
|
||||||
a = crans()
|
a = AssociationCrans()
|
||||||
except :
|
except :
|
||||||
a = machine.proprietaire()
|
a = machine.proprietaire()
|
||||||
f += "%s" % a.Nom()
|
f += "%s" % a.Nom()
|
||||||
|
@ -971,7 +971,7 @@ def __recherche() :
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if only_crans :
|
if only_crans :
|
||||||
res = { 'machine' : crans().machines() , 'adherent' : [] , 'club' : [] }
|
res = { 'machine' : AssociationCrans().machines() , 'adherent' : [] , 'club' : [] }
|
||||||
else :
|
else :
|
||||||
if not arg :
|
if not arg :
|
||||||
# Pas de chaine de recherche fournie
|
# Pas de chaine de recherche fournie
|
||||||
|
|
|
@ -5,7 +5,7 @@ import os, md5, sys, binascii
|
||||||
from commands import getoutput
|
from commands import getoutput
|
||||||
|
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
from ldap_crans import crans_ldap, crans
|
from ldap_crans import crans_ldap, AssociationCrans
|
||||||
from config import ann_scol, dat
|
from config import ann_scol, dat
|
||||||
|
|
||||||
def chap_ok(password, challenge, clear_pass) :
|
def chap_ok(password, challenge, clear_pass) :
|
||||||
|
@ -44,7 +44,7 @@ if __name__ == '__main__' :
|
||||||
# donc sur uplink ou switch non filtré
|
# donc sur uplink ou switch non filtré
|
||||||
# But : éviter le spoof d'une mac d'une machine clef
|
# But : éviter le spoof d'une mac d'une machine clef
|
||||||
proprio=m[0].proprietaire()
|
proprio=m[0].proprietaire()
|
||||||
if proprio.__class__ == crans and m[0].prise() == u'N/A' :
|
if proprio.__class__ == AssociationCrans and m[0].prise() == u'N/A' :
|
||||||
sys.stdout.write("Machine du crans")
|
sys.stdout.write("Machine du crans")
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ from pyPgSQL import PgSQL
|
||||||
sys.path.append('/usr/scripts/gestion')
|
sys.path.append('/usr/scripts/gestion')
|
||||||
from config import upload, virus, p2p, NETs
|
from config import upload, virus, p2p, NETs
|
||||||
import smtplib
|
import smtplib
|
||||||
from ldap_crans import crans_ldap, crans, base_classes_crans
|
from ldap_crans import crans_ldap, base_classes_crans
|
||||||
from ldap_crans import MachineWifi
|
from ldap_crans import MachineWifi
|
||||||
from time import *
|
from time import *
|
||||||
import locale
|
import locale
|
||||||
|
|
|
@ -23,7 +23,7 @@ import socket
|
||||||
import time, random, md5
|
import time, random, md5
|
||||||
from analyse import stats
|
from analyse import stats
|
||||||
from affich_tools import tableau_ng
|
from affich_tools import tableau_ng
|
||||||
from ldap_crans import crans
|
from ldap_crans import AssociationCrans
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# Ouverture des connections : #
|
# Ouverture des connections : #
|
||||||
|
@ -84,7 +84,7 @@ liste_serveurs = tableau_ng( data = liste_serveurs,
|
||||||
|
|
||||||
# statistiques des gros uploads depuis les serveurs
|
# statistiques des gros uploads depuis les serveurs
|
||||||
###################################################
|
###################################################
|
||||||
gros_uploads_des_serveurs = stats (ip_crans=[x.ip() for x in crans().machines() if x.nom() not in [u'sila.crans.org']],show=['ip_crans','ip_ext'],upload_mini=50,show_limit=100).encode('iso-8859-15')
|
gros_uploads_des_serveurs = stats (ip_crans=[x.ip() for x in AssociationCrans().machines() if x.nom() not in [u'sila.crans.org']],show=['ip_crans','ip_ext'],upload_mini=50,show_limit=100).encode('iso-8859-15')
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# Statistiques virus/p2p : #
|
# Statistiques virus/p2p : #
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue