diff --git a/gestion/gen_confs/generate.py b/gestion/gen_confs/generate.py index f4dc100d..cf0fdd4d 100755 --- a/gestion/gen_confs/generate.py +++ b/gestion/gen_confs/generate.py @@ -36,7 +36,7 @@ make_lock('auto_generate','Big lock',nowait=1) class base_reconfigure : __service_develop = { - 'macip' : [ 'rouge-macip', 'bleu-macip', 'sila-macip' , 'komaz-macip', 'zamok-macip' ] , + 'macip' : [ 'rouge-macip', 'bleu-macip', 'sila-macip' , 'komaz-macip' ] , 'droits': [ 'rouge-droits', 'nectaris-droits' ] , 'blacklist_upload' : [ 'bl_squid_upload' , 'komaz-blacklist'] } @@ -130,6 +130,10 @@ class rouge(base_reconfigure) : def mail_bienvenue(self,mails) : from adherents import mail_bienvenue self._do(mail_bienvenue(mails)) + + def switch(self,chambres) : + from gen_confs.switchs import switch + self._do(switch(chambres)) class bleu(base_reconfigure) : # Tout est dans le parent @@ -219,7 +223,7 @@ class nectaris(base_reconfigure) : if self.__restart_wifi_update : os.system("cd / ; systrace -d /etc/systrace/wifi-update -A /usr/local/bin/twistd --syslog -o -y /usr/scripts/gestion/wifi-update.py --pidfile=/var/run/wifi-update.pid") -class zamok(base_reconfigure) : +class vert(base_reconfigure) : def home(self,args) : from adherents import home self._do(home(args)) @@ -227,11 +231,7 @@ class zamok(base_reconfigure) : def del_user(self,args) : from adherents import del_user self._do(del_user(args)) - - def switch(self,chambres) : - from gen_confs.switchs import switch - self._do(switch(chambres)) - + signal.signal(signal.SIGINT,signal.SIG_DFL) # Comportement normal de Ctrl-C remove_lock('auto_generate') diff --git a/gestion/gest_crans.py b/gestion/gest_crans.py index 6f1f1b95..c77ceabc 100755 --- a/gestion/gest_crans.py +++ b/gestion/gest_crans.py @@ -248,7 +248,7 @@ def set_etudes(adher) : if result[0] == "Pers": arg = u'--title "Etudes (2/3)" ' arg+= u'--msgbox "Personnel ENS\n\n' + \ - u'Attention, un personnel ENS est un cas bien particulier. Cela correspond à une personne n\'étant pas élève, étant prof dans un département ou un labo, disposant d\'une adresse @ens-cachan.fr. Cela ne donne accès qu\'au wifi, pour l\'année 2005 uniquement. Il ne pourra pas disposer d\'un compte sur zamok et n\'aura pas accès au réseau interne.\n\n\n" 0 0' + u'Attention, un personnel ENS est un cas bien particulier. Cela correspond à une personne n\'étant pas élève, étant prof dans un département ou un labo, disposant d\'une adresse @ens-cachan.fr. Cela ne donne accès qu\'au wifi, pour l\'année 2005 uniquement. Il ne pourra pas disposer d\'un compte crans et n\'aura pas accès au réseau interne.\n\n\n" 0 0' dialog(arg) etudes[1] = result[0] @@ -363,9 +363,9 @@ def set_mail(adher) : arg+= u'--menu "Adresse mail de l\'adhérent :" 0 0 0 ' arg+= u'"Adresse mail extérieure" "" ' if adher.compte() : - arg+= u'"Laisser le compte sur zamok" "(login : %s)"' % adher.compte() + arg+= u'"Laisser le compte crans" "(login : %s)"' % adher.compte() else : - arg+= u'"Créer un compte sur zamok" "(adresse @crans.org)"' + arg+= u'"Créer un compte crans" "(adresse @crans.org)"' annul , result = dialog(arg) if annul : return 1 @@ -412,11 +412,11 @@ def set_mail_ext(adher) : def set_compte(adher) : """ - Créé un compte sur zamok pour un adhérent. + Créé un compte sur vert pour un adhérent. """ # Message d'avertissement - arg = u'--title "Création compte sur zamok pour %s" ' % adher.Nom() + arg = u'--title "Création compte crans pour %s" ' % adher.Nom() arg+= u'--colors --yesno "\Zr\Z1AVERTISSEMENT :\Zn \n' arg+= u'L\'adhérent devra impérativement consulter l\'adresse mail associée\n\n\n\\ZnContinuer ?" ' arg+= u'0 0' @@ -443,7 +443,7 @@ def set_compte(adher) : if err : while 1: # Mauvais login => on demande - arg = u'--title "Création d\'un compte sur zamok pour %s" ' % adher.Nom() + arg = u'--title "Création d\'un compte crans pour %s" ' % adher.Nom() arg+= u'--inputbox "Choix du login\n' arg+= u'Le login doit faire au maximum %s caractères\n' % config.maxlen_login arg+= u'Il ne doit pas être un pseudo ou prénom mais doit être relié au nom de famille\n' @@ -458,7 +458,7 @@ def set_compte(adher) : except EnvironmentError, c : e = c.args[0] except ValueError, c : e = c.args[0] if e : - arg = u'--title "Création compte sur zamok pour %s" ' % adher.Nom() + arg = u'--title "Création compte crans pour %s" ' % adher.Nom() arg+= u'--msgbox "%s\n\n\n" 0 0' % e dialog(arg) continue @@ -475,7 +475,7 @@ def set_compte(adher) : txt+= u'\n' - arg = u'--title "Création compte sur zamok pour %s" ' % adher.Nom() + arg = u'--title "Création compte crans pour %s" ' % adher.Nom() arg+= u'--colors --msgbox "%s\n\n\n" 0 0' % txt dialog(arg) @@ -609,14 +609,14 @@ def set_local(club) : def set_club_compte(club) : """ - Créé un compte sur zamok pour un club. + Créé un compte sur vert pour un club. """ while 1 : - arg = u'--title "Création d\'un compte sur zamok pour %s" ' % club.Nom() + arg = u'--title "Création d\'un compte crans pour %s" ' % club.Nom() arg+= u'--inputbox "Choix du login\n' arg+= u'Le nom pour le login doit faire au maximum %s caractères\n' % config.maxlen_login - arg+= u'Le login sur zamok sera club-\'nom du club\'\n' + arg+= u'Le login sur ssh sera club-\'nom du club\'\n' arg+= u'Le site web du club sera accessible via l\'adresse http://clubs.crans.ens-cachan.fr/\'nom du club\'\n' arg+= u'Seuls les caractères alphabétiques et le - sont autorisés" ' arg+= u'0 0 ""' @@ -629,7 +629,7 @@ def set_club_compte(club) : except EnvironmentError, c : e = c.args[0] except ValueError, c : e = c.args[0] if e : - arg = u'--title "Création compte sur zamok pour %s" ' % club.Nom() + arg = u'--title "Création compte crans pour %s" ' % club.Nom() arg+= u'--msgbox "%s\n\n\n" 0 0' % e dialog(arg) continue @@ -640,7 +640,7 @@ def set_club_compte(club) : txt+= u'\n' - arg = u'--title "Création compte sur zamok pour %s" ' % club.Nom() + arg = u'--title "Création compte crans pour %s" ' % club.Nom() arg+= u'--colors --msgbox "%s\n\n\n" 0 0' % txt dialog(arg) @@ -939,7 +939,7 @@ def modif_club(club) : arg+= u'"Responsable" "Changer le responsable du club %s" ' % club.responsable().Nom() arg+= u'"Administratif" "Précâblage" ' arg+= u'"Local" "Modifier le local du club" ' - arg+= u'"Compte" "Créer un compte sur zamok" ' + arg+= u'"Compte" "Créer un compte crans." ' if club.compte() : arg+= u'"Alias" "Créer ou supprimer un alias mail" ' if isdeconnecteur : diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 1a3c351e..1e04b686 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -1203,7 +1203,7 @@ class base_proprietaire(base_classes_crans) : if err : ret += '\nEssayer de corriger les erreurs machines en éditant celles-ci.\n' - # Faut-il créer un compte sur zamok ? + # Faut-il créer un compte sur vert ? if 'compte' in self.modifs : ret += u'\nUn compte a été créé :\n login : %s\n' % self.compte() args = self._data['homeDirectory'][0] + ',' @@ -1389,7 +1389,10 @@ class adherent(base_proprietaire) : # Personne sur le campus return '' else : - return map(decode,self._data.get('postalAddress', ['','','',''])[:4]) + addr = self._data.get('postalAddress', ['','','',''])[:4] + if len(addr) < 4: + addr = addr + ['']*(4-len(addr)) + return map(decode,addr) if type(new)!=list and len(new)!=4 : raise TypeError @@ -1689,7 +1692,7 @@ class club(base_proprietaire) : return decode(annu.get(self.chbre(),'')) def compte(self,login=None) : - """ Créé un compte au club sur zamok""" + """ Créé un compte au club sur vert""" if login==None : return self._data.get('uid',[''])[0] diff --git a/gestion/secours.py b/gestion/secours.py deleted file mode 100755 index e129cd52..00000000 --- a/gestion/secours.py +++ /dev/null @@ -1,94 +0,0 @@ -#! /usr/bin/env python -# -*- coding: iso-8859-15 -*- - -import sys, sre -from socket import gethostname -hostname = gethostname().split(".")[0] - -# Fichiers à modifier et chaine indiquant un commentaire dans ceux-ci -if hostname == 'zamok' : - fichiers = { '/etc/bind/named.conf.options' : '//' , - '/etc/postfix/main.cf' : '#' } -elif hostname == 'sila' : - fichiers = { '/etc/bind/named.conf.options' : '//' , - '/etc/squid/squid.conf' : '#' } -elif hostname == 'rouge' : - fichiers = { '/etc/bind/named.conf.options' : '//' , - '/etc/postfix/main.cf' : '#' } -else : - print "Script sans effet sur cette machine." - sys.exit(1) - -def edit(file,comment,secours) : - """ Edite le fichier fourni en commentant (mode normal) - ou décommentant (mode secours) les lignes signalées : - * celles se terminant avec #POUR SECOURS - * ou les n lignes (<10)suivant une qui commande par #POUR SECOURS-n - (si le -n est omis une seule ligne est affectée)""" - - signal = '#POUR SECOURS' - l = len(signal) - - fd = open(file) - line = fd.readline() - new = '' - reste = 0 # Nombre de lignes restant à traiter - while line : - l = line.rstrip() - mo = sre.match('^(.*)'+signal+'(|-.)$',l) - if (mo and len(mo.group(1)) > 1) or reste: - # Ligne pour secours - if not sre.match('^' + comment,l) and not secours: - # On est actuellement configuré en secours - # Il faut passer en normal - new += comment + line - elif sre.match('^' + comment,l) and secours : - # On est actuellement configuré en normal - # Il faut passer en secours - new += line.replace(comment,'',1) - else : - # Rien à faire, on est bien configuré - new += line - if reste : - reste -= 1 - elif mo and len(mo.group(1)) == 0: - # On a une ligne avec secours uniquement, c'est les n - # prochaines lignes qui font foi - try : reste = int(mo.group(2)[1:]) - except : reste = 1 - new += line - else : - # Ligne normale - new += line - - line = fd.readline() - - fd.close() - - # Ecriture de la nouvelle version - fd = open(file,'w') - fd.write(new) - fd.close() - - -def usage() : - print 'Usage : %s 0 pour reconfigurer les services locaux en normal' % sys.argv[0] - print ' %s 1 pour reconfigurer les services locaux en secours' % sys.argv[0] - print 'Fichiers modifiés par le changement de mode : \n\t', '\n\t'.join(fichiers.keys()) - -if __name__ == '__main__' : - if len(sys.argv) != 2 : - usage() - else : - mode = sys.argv[1] - if mode not in '01' : - usage() - else : - mode = int(mode) - for f, c in fichiers.items() : - try : - print 'Edition de %s' % f - edit(f,c,mode) - except : - import traceback - traceback.print_exc()