From f1c9b6e5223747fcb4d112b9e1dd94aaa3f8fdf6 Mon Sep 17 00:00:00 2001 From: Roven Gabriel Date: Thu, 21 Feb 2013 23:43:33 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20support=20base=20de=20donn=C3=A9e=20pou?= =?UTF-8?q?r=20ips?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .hgignore | 1 + Brie/Brie.egg-info/SOURCES.txt | 12 +- Brie/brie/controllers/edit.py | 20 + Brie/brie/model/briedb.py | 33 + Brie/brie/model/ldap.py | 16 +- Brie/development.ini | 3 +- Brie/fo | 1168 ------------------------- Brie/foo | 32 - Brie/migrate_machines.py | 130 --- Brie/migrate_names_values.py | 107 --- Brie/migrate_remove_useless_values.py | 70 -- Brie/migrate_rooms.py | 80 -- Brie/migrate_switch.py | 59 -- 13 files changed, 79 insertions(+), 1652 deletions(-) create mode 100644 Brie/brie/model/briedb.py delete mode 100644 Brie/fo delete mode 100644 Brie/foo delete mode 100644 Brie/migrate_machines.py delete mode 100644 Brie/migrate_names_values.py delete mode 100644 Brie/migrate_remove_useless_values.py delete mode 100644 Brie/migrate_rooms.py delete mode 100644 Brie/migrate_switch.py diff --git a/.hgignore b/.hgignore index da4ac7e..01989f4 100644 --- a/.hgignore +++ b/.hgignore @@ -5,3 +5,4 @@ Brie/data/sessions/* *.swp *.swo Brie/tg2env/* +Brie/build/* diff --git a/Brie/Brie.egg-info/SOURCES.txt b/Brie/Brie.egg-info/SOURCES.txt index dfc4908..7678f28 100644 --- a/Brie/Brie.egg-info/SOURCES.txt +++ b/Brie/Brie.egg-info/SOURCES.txt @@ -14,12 +14,14 @@ brie/websetup.py brie/config/__init__.py brie/config/app_cfg.py brie/config/environment.py +brie/config/groups_enum.py brie/config/ldap_config.py brie/config/middleware.py brie/controllers/__init__.py +brie/controllers/administration.py brie/controllers/auth.py brie/controllers/edit.py -brie/controllers/import_actions.py +brie/controllers/error.py brie/controllers/rooms.py brie/controllers/root.py brie/controllers/show.py @@ -27,8 +29,8 @@ brie/controllers/template.py brie/i18n/ru/LC_MESSAGES/brie.po brie/lib/__init__.py brie/lib/app_globals.py +brie/lib/aurore_helper.py brie/lib/base.py -brie/lib/camembert_helpers.py brie/lib/helpers.py brie/lib/ldap_helper.py brie/model/__init__.py @@ -45,6 +47,9 @@ brie/templates/__init__.py brie/templates/__init__.pyc brie/templates/index.html brie/templates/login_widget.html +brie/templates/administration/__init__.py +brie/templates/administration/__init__.pyc +brie/templates/administration/index.html brie/templates/auth/__init__.py brie/templates/auth/__init__.pyc brie/templates/auth/login.html @@ -56,8 +61,9 @@ brie/templates/edit/member.html brie/templates/edit/member_room_interface_edit_views.html brie/templates/edit/room.html brie/templates/edit/wifi.html +brie/templates/error/__init__.py +brie/templates/error/permission_denied.html brie/templates/models/__init__.py -brie/templates/models/__init__.pyc brie/templates/models/about.html brie/templates/models/authentication.html brie/templates/models/debug.html diff --git a/Brie/brie/controllers/edit.py b/Brie/brie/controllers/edit.py index 352150c..12a66bb 100644 --- a/Brie/brie/controllers/edit.py +++ b/Brie/brie/controllers/edit.py @@ -41,6 +41,26 @@ class EditController(AuthenticatedBaseController): #end class +class MachineController(AuthenticatedBaseController): + require_group = groups_enum.admin + + +class MachineDeleteController(AuthenticatedRestController): + require_group = groups_enum.admin + + @expose() + def post(self, residence, member_uid, machine_id): + member = Member.get_by_uid(self.user, residence, member_uid) + machine = Machine.get_machine_by_id(self.user, member.dn, machine_id) + if machine is not None: + self.user.ldap_bind.delete_entry_subtree(machine.dn) + #end if + + redirect("/edit/room/" + residence + "/" + member_uid) + #end def +#end def + + class WifiRestController(AuthenticatedRestController): require_group = groups_enum.respsalleinfo diff --git a/Brie/brie/model/briedb.py b/Brie/brie/model/briedb.py new file mode 100644 index 0000000..f9b7206 --- /dev/null +++ b/Brie/brie/model/briedb.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +"""Sample model module.""" + +from sqlalchemy import * +from sqlalchemy.orm import mapper, relation +from sqlalchemy import Table, ForeignKey, Column +from sqlalchemy.types import Integer, Unicode +from sqlalchemy.dialects.postgresql import MACADDR, INET, BOOLEAN, DATE +#from sqlalchemy.orm import relation, backref + +from brie.model import DeclarativeBase, metadata, DBSession + +class Residences(DeclarativeBase): + __tablename__ = "residences" + + name = Column(Unicode(128), primary_key=True) + +#end class + +class Ips(DeclarativeBase): + __tablename__ = "ips" + + def __init__(self, ip, residence, taken): + self.ip = ip + self.residence = residence + self.taken = taken + #end + + ip = Column(Unicode(512), primary_key=True) + residence = Column(Unicode(128), nullable=False) + taken = Column(BOOLEAN, nullable=False) + +#end class diff --git a/Brie/brie/model/ldap.py b/Brie/brie/model/ldap.py index 4d22e13..61e0542 100644 --- a/Brie/brie/model/ldap.py +++ b/Brie/brie/model/ldap.py @@ -147,7 +147,7 @@ class Machine(object): #end def @staticmethod - def get_machines_of_member(user_session, member_dn): + def get_machine_tuples_of_member(user_session, member_dn): results = user_session.ldap_bind.search(member_dn, "(objectClass=organizationalRole)") machines = list() for result in results: @@ -155,13 +155,25 @@ class Machine(object): dns = user_session.ldap_bind.search_first(result.dn, "(objectClass=dlzGenericRecord)") if dhcp is not None and dns is not None: mac = dhcp.dhcpHWAddress.first().replace("ethernet ", "") - machines.append((dhcp.cn.first(), mac, dns.dlzData.first())) # tuple + machines.append( + ( + dhcp.cn.first(), + mac, + dns.dlzData.first(), + result.cn.first() + ) #tuple + ) #end if #end for return machines #end def + @staticmethod + def get_machine_by_id(user_session, member_dn, machine_id): + return user_session.ldap_bind.search_first(member_dn, "(cn=" + machine_id + ")") + #end def + #end class class Groupes(object): diff --git a/Brie/development.ini b/Brie/development.ini index 102b0b1..48da770 100644 --- a/Brie/development.ini +++ b/Brie/development.ini @@ -37,13 +37,14 @@ beaker.session.secret = somesecret # %(here) may include a ':' character on Windows environments; this can # invalidate the URI when specifying a SQLite db via path name #sqlalchemy.url=postgresql://camembert:CamembertDB%40Pacat@172.17.22.7:5432/camembert +sqlalchemy.url=postgresql://brie:brie@localhost/brie # sqlalchemy.url=mysql://username:password@hostname:port/databasename # If you have sqlite, here's a simple default to get you started # in development -sqlalchemy.url = sqlite:///%(here)s/devdata.db +#sqlalchemy.url = sqlite:///%(here)s/devdata.db #echo shouldn't be used together with the logging module. #sqlalchemy.echo = false #sqlalchemy.echo_pool = false diff --git a/Brie/fo b/Brie/fo deleted file mode 100644 index f5c67a0..0000000 --- a/Brie/fo +++ /dev/null @@ -1,1168 +0,0 @@ -Boubakar OUATTARA -boubakar.ouattara -chambre 456 etage 4 aile nord -Boubakar OUATTARA -Tocha ZAABAY -tocha.zaabay -chambre 465 etage 4 aile nord -Tocha ZAABAY -Claude ALGOURDIN -claude.algourdin -chambre 418 etage 4 aile sud -Claude ALGOURDIN -Rachid CHEDRA -rachid.chedra -chambre 217 etage 2 aile sud -Rachid CHEDRA -Guillaume LETOUPIN -guillaume.letoupin -chambre 232 etage 2 aile sud -Guillaume LETOUPIN -erica MINUZ -erica.minuz -chambre 374 etage 3 aile nord -Erica MINUZ -FLAVIA MACHADO DOMINGUES -flavia.machadodomingue -chambre 452 etage 4 aile nord -flavia.machadodomingue not found -SOPHIA ID SALAH -sophia.idsalah -chambre 360 etage 3 aile nord -Sophia ID SALAH -Marie-Thérèse DIèNE -marie-therese.diene -chambre 54 etage 0 aile nord -Marie-Thérèse DIENE -Paul COULEAUD -paul.couleaud -chambre 178 etage 1 aile nord -Paul COULEAUD -Kevin CHATELAIN -kevin.chatelain -chambre 222 etage 2 aile sud -Kevin CHATELAIN -Nicolas MORUZZI -nicolas.moruzzi -chambre 11 etage 0 aile sud -Nicolas MORUZZI -azeddine BENSABER -azeddine.bensaber -chambre 320 etage 3 aile sud -Azeddine BENSABER -mohammed KEBDANI -mohammed.kebdani -chambre 472 etage 4 aile nord -Mohammed KEBDANI -Diviya RAMAMURTHY -diviya.ramamurthy -chambre 102 etage 1 aile sud -Diviya RAMAMURTHY -Romain VAUTIER PHEMIUS -romain.vautierphemius -chambre 109 etage 1 aile sud -Romain VAUTIER PHEMIUS -nguyen DANG -nguyen.dang -chambre 224 etage 2 aile sud -Nguyen DANG -Julienne Rose DIENE -juliennerose.diene -chambre 52 etage 0 aile nord -juliennerose.diene not found -Sam SAN -sam.san -chambre 69 etage 0 aile nord -Sam SAN -Thi Bach Tuyet DANG -thibachtuyet.dang -chambre 226 etage 2 aile sud -thibachtuyet.dang not found -Oirdate NARIVELO -oirdate.narivelo -chambre 319 etage 3 aile sud -Oirdate NARIVELO -oussama DOUAK -oussama.douak -chambre 9 etage 0 aile sud -Oussama DOUAK -Alexandre RACIONERO -alexandre.racionero -chambre 501 etage 5 aile sud -alexandre.racionero not found -Carmen HUYNH -carmen.huynh -chambre 106 etage 1 aile sud -Carmen HUYNH -Jonas ALTNöDER -jonas.altnoder -chambre 220 etage 2 aile sud -jonas.altnoder not found -SARRA BENDIOURI -sarra.bendiouri -chambre 227 etage 2 aile sud -Sarra BENDIOURI -Stephen MELCZER -stephen.melczer -chambre 270 etage 2 aile nord -Stephen MELCZER -Soren RAVN -soren.ravn -chambre 325 etage 3 aile sud -Soren RAVN -nassim BACHIR BEY -nassim.bachirbey -chambre 26 etage 0 aile sud -Nassim BACHIR BEY -Dimitri TEIXEIRA PIRES -dimitri.teixeirapires -chambre 216 etage 2 aile sud -Dimitri TEIXEIRA PIRES -Christelle RECTON -christelle.recton -chambre 301 etage 3 aile sud -christelle.recton not found -Chevelle CINEAS -chevelle.cineas -chambre 164 etage 1 aile nord -Chevelle CINEAS -victor ILUTA -victor.iluta -chambre 377 etage 3 aile nord -Victor ILUTA -héloise GIRAUD -heloise.giraud -chambre 279 etage 2 aile nord -heloise.giraud not found -Alessandro VALLEE -alessandro.vallee -chambre 306 etage 3 aile sud -Alessandro VALLEE -Ioana Alexandra ROATIS -ioanaalexandra.roatis -chambre 203 etage 2 aile sud -ioanaalexandra.roatis not found -sophia SABOR -sophia.sabor -chambre 210 etage 2 aile sud -Sophia SABOR -Jing WANG -jing.wang -chambre 312 etage 3 aile sud -Jing WANG -badr BENNANIBAITI -badr.bennanibaiti -chambre 426 etage 4 aile sud -Badr BENNANIBAITI -Vincent YAHIA -vincent.yahia -chambre 104 etage 1 aile sud -Vincent YAHIA -Rolando Rafael LOZADA GARCIA -rolandorafael.lozadagarcia -chambre 307 etage 3 aile sud -Rolando Rafael LOZADA GARCIA -Van anh LE THI -vananh.lethi -chambre 313 etage 3 aile sud -Van Anh LE THI -Matilda ROUGIEUX -matilda.rougieux -chambre 372 etage 3 aile nord -Matilda ROUGIEUX -Margareta Cristina BALOGH -margaretacristi.balogh -chambre 110 etage 1 aile sud -Margareta Cristina BALOGH -agathe VATONNE -agathe.vatonne -chambre 315 etage 3 aile sud -Agathe VATONNE -Etienne CANTIN -etienne.cantin -chambre 7 etage 0 aile sud -Etienne CANTIN -Benjamin SEZNEC -benjamin.seznec -chambre 118 etage 1 aile sud -Benjamin SEZNEC -Brice AGNES -brice.agnes -chambre 209 etage 2 aile sud -Brice AGNES -David BINA -david.bina -chambre 221 etage 2 aile sud -David BINA -ADRIEN BENEZECH -adrien.benezech -chambre 317 etage 3 aile sud -Adrien BENEZECH -Anaïs PAUVERT -anais.pauvert -chambre 53 etage 0 aile nord -Ana��s PAUVERT -RAYHANA ZIARA -rayhana.ziara -chambre 121 etage 1 aile sud -Rayhana ZIARA -Alexandre BESNARD -alexandre.besnard -chambre 126 etage 1 aile sud -Alexandre BESNARD -Peter-Michaël RICHARD -peter-michael.richard -chambre 316 etage 3 aile sud -peter-michael.richard not found -Dimitri EBRARD -dimitri.ebrard -chambre 318 etage 3 aile sud -Dimitri EBRARD -mohammed BELKHIR -mohammed.belkhir -chambre 327 etage 3 aile sud -Mohammed BELKHIR -Gladys SOUCERADJOU -gladys.souceradjou -chambre 127 etage 1 aile sud -Gladys SOUCERADJOU -Elise BASSO-BLANDIN -elise.basso-blandin -chambre 153 etage 1 aile nord -elise.basso-blandin not found -Mehdi LANGLOIS -mehdi.langlois -chambre 368 etage 3 aile nord -Mehdi LANGLOIS -Abdou Rahmane DIAW -abdourahmane.diaw -chambre 167 etage 1 aile nord -Abdou Rahmane DIAW -Thomas SOHIER -thomas.sohier -chambre 128 etage 1 aile sud -Thomas SOHIER -Li CHEN -li.chen -chambre 223 etage 2 aile sud -Li CHEN -Sara HAFSA -sara.hafsa -chambre 401 etage 4 aile sud -Sara HAFSA -Nelson PEREIRA -nelson.pereira -chambre 10 etage 0 aile sud -Nelson PEREIRA -Roven GABRIEL -roven.gabriel -chambre 268 etage 2 aile nord -Roven GABRIEL -Francesca BERGAMASCHI -francesca.bergamaschi -chambre 430 etage 4 aile sud -Francesca BERGAMASCHI -GUILLAUME BONANNI -guillaume.bonanni -chambre 19 etage 0 aile sud -guillaume.bonanni not found -Benjamin SATURNIN -benjamin.saturnin -chambre 131 etage 1 aile sud -Benjamin SATURNIN -Aurore SIBRANT -aurore.sibrant -chambre 420 etage 4 aile sud -Aurore SIBRANT -Wafa REKIK -wafa.rekik -chambre 177 etage 1 aile nord -Wafa REKIK -xin LUO -xin.luo -chambre 204 etage 2 aile sud -Xin LUO -Imen GHOURABI -imen.ghourabi -chambre 205 etage 2 aile sud -Imen GHOURABI -Aziz DZIRI -aziz.dziri -chambre 305 etage 3 aile sud -Aziz DZIRI -Wassim BEN MAMOUDA -wassim.benmamouda -chambre 15 etage 0 aile sud -wassim.benmamouda not found -Huizi JIANG -huizi.jiang -chambre 70 etage 0 aile nord -Huizi JIANG -Javier GOMEZ -javier.gomez -chambre 56 etage 0 aile nord -Javier GOMEZ -thomas TROILO -thomas.troilo -chambre 252 etage 2 aile nord -Thomas TROILO -Rolando Raphaël LORADA GARCIA -rolandoraphael.loradagarcia -chambre 260 etage 2 aile nord -rolandoraphael.loradagarcia not found -tayyab RAMZAN -tayyab.ramzan -chambre 17 etage 0 aile sud -Tayyab RAMZAN -wojciech ZAREMBA -wojciech.zaremba -chambre 18 etage 0 aile sud -Wojciech ZAREMBA -Thanh Long NGUYEN -thanhlong.nguyen -chambre 20 etage 0 aile sud -thanhlong.nguyen not found -Krystelle EURANIE -krystelle.euranie -chambre 23 etage 0 aile sud -Krystelle EURANIE -Laure PEDECHES -laure.pedeches -chambre 27 etage 0 aile sud -Laure PEDECHES -Nicolas TRAN -nicolas.tran -chambre 101 etage 1 aile sud -Nicolas TRAN -Jean-Michel TRINH -jean-michel.trinh -chambre 103 etage 1 aile sud -Jean-michel TRINH -nicolas THELLYERE -nicolas.thellyere -chambre 111 etage 1 aile sud -Nicolas THELLYERE -Alexis TAINE -alexis.taine -chambre 129 etage 1 aile sud -Alexis TAINE -Svetlana PROKOPENKO -svetlana.prokopenko -chambre 365 etage 3 aile nord -Svetlana PROKOPENKO -Alexandre DESROCHES -alexandre.desroches -chambre 409 etage 4 aile sud -Alexandre DESROCHES -Younès TIERCE -younes.tierce -chambre 133 etage 1 aile sud -Youn��s TIERCE -carina STRITT -carina.stritt -chambre 132 etage 1 aile sud -Carina STRITT -Mustapha KHEDHIRI -mustapha.khedhiri -chambre 211 etage 2 aile sud -Mustapha KHEDHIRI -Jordan BOUAZIZ -jordan.bouaziz -chambre 228 etage 2 aile sud -Jordan BOUAZIZ -Anthony LARROQUE -anthony.larroque -chambre 231 etage 2 aile sud -Anthony LARROQUE -Loïc GOUSSEFF -loic.gousseff -chambre 304 etage 3 aile sud -Lo��c GOUSSEFF -Sophie VéRITé -sophie.verite -chambre 502 etage 5 aile sud -sophie.verite not found -Alexandre AUDIC -alexandre.audic -chambre 156 etage 1 aile nord -Alexandre AUDIC -José PEDROSA AGUILAR -jose.pedrosaaguilar -chambre 14 etage 0 aile sud -jose.pedrosaaguilar not found -Soulimane CHEVALIER -soulimane.chevalier -chambre 321 etage 3 aile sud -Soulimane CHEVALIER -Joaquin ARANCIBIA-NUESCH -joaquin.arancibia-nuesc -chambre 281 etage 2 aile nord -Joaquin ARANCIBIA-NUESCH -Mascitti GIADA REGINA ANASTASIA -mascitti.giadareginaanas -chambre 13 etage 0 aile sud -Mascitti GIADA REGINA ANASTASIA -Wasilij BARSUKOW -wasilij.barsukow -chambre 6 etage 0 aile sud -Wasilij BARSUKOW -Caroline HENEKA -caroline.heneka -chambre 166 etage 1 aile nord -Caroline HENEKA -dorine BRETON -dorine.breton -chambre 271 etage 2 aile nord -Dorine BRETON -Remy BREGAND -remy.bregand -chambre 273 etage 2 aile nord -Remy BREGAND -Gizem OKYAY -gizem.okyay -chambre 175 etage 1 aile nord -Gizem OKYAY -Florent BEILLONNET -florent.beillonnet -chambre 170 etage 1 aile nord -Florent BEILLONNET -Aurelien CHEUTON -aurelien.cheuton -chambre 264 etage 2 aile nord -Aurelien CHEUTON -Arnaud BAGUET -arnaud.baguet -chambre 259 etage 2 aile nord -Arnaud BAGUET -Charlène FEURJOUR -charlene.feurjour -chambre 71 etage 0 aile nord -charlene.feurjour not found -Jimmy PAROT -jimmy.parot -chambre 274 etage 2 aile nord -Jimmy PAROT -Christine LE GURUN -christine.legurun -chambre 261 etage 2 aile nord -Christine LE GURUN -Anthony AMISSE -anthony.amisse -chambre 159 etage 1 aile nord -Anthony AMISSE -Vijayakumar PANNIRSELVAME -vijayakumar.pannirselvame -chambre 471 etage 4 aile nord -Vijayakumar PANNIRSELVAME -Julien RENé -julien.rene -chambre 16 etage 0 aile sud -Julien REN�� -Hicham OUKROUM -hicham.oukroum -chambre 65 etage 0 aile nord -Hicham OUKROUM -Nils HAUG -nils.haug -chambre 66 etage 0 aile nord -Nils HAUG -Li SCHENGCHUN -li.schengchun -chambre 269 etage 2 aile nord -Li SCHENGCHUN -Nicolas FOURRIER -nicolas.fourrier -chambre 180 etage 1 aile nord -Nicolas FOURRIER -Yu SONG -yu.song -chambre 262 etage 2 aile nord -Yu SONG -Dominique LAFFITTE -dominique.laffitte -chambre 107 etage 1 aile sud -Dominique LAFFITTE -Thomas LEVASSEUR -thomas.levasseur -chambre 114 etage 1 aile sud -Thomas LEVASSEUR -Asma ASLAM -asma.aslam -chambre 258 etage 2 aile nord -Asma ASLAM -Maros HREBIK -maros.hrebik -chambre 432 etage 4 aile sud -Maros HREBIK -Maud GLANDIER -maud.glandier -chambre 117 etage 1 aile sud -Maud GLANDIER -Yolanda OHENE -yolanda.ohene -chambre 124 etage 1 aile sud -Yolanda OHENE -jessica SPAKE -jessica.spake -chambre 171 etage 1 aile nord -Jessica SPAKE -Anton ABYZOV -anton.abyzov -chambre 277 etage 2 aile nord -Anton ABYZOV -Tekkanat SEDA -tekkanat.seda -chambre 421 etage 4 aile sud -Tekkanat SEDA -Catriona ROWBURY -catriona.rowbury -chambre 130 etage 1 aile sud -Catriona ROWBURY -Sarah MARIANI -sarah.mariani -chambre 233 etage 2 aile sud -Sarah MARIANI -Yohan BATAILLE -yohan.bataille -chambre 58 etage 0 aile nord -Yohan BATAILLE -Huang GUAN -huang.guan -chambre 212 etage 2 aile sud -Huang GUAN -sandra LAGREULET -sandra.lagreulet -chambre 230 etage 2 aile sud -Sandra LAGREULET -Julien JOLIE -julien.jolie -chambre 369 etage 3 aile nord -Julien JOLIE -Robin LE PENGLAU -robin.lepenglau -chambre 302 etage 3 aile sud -Robin LE PENGLAU -Yakine BAHRI -yakine.bahri -chambre 303 etage 3 aile sud -Yakine BAHRI -Virginie DUQUESNEL -virginie.duquesnel -chambre 309 etage 3 aile sud -Virginie DUQUESNEL -Jessica MAMERI -jessica.mameri -chambre 310 etage 3 aile sud -Jessica MAMERI -Denis LAZARENKO -denis.lazarenko -chambre 311 etage 3 aile sud -Denis LAZARENKO -quentin GODIAU -quentin.godiau -chambre 256 etage 2 aile nord -Quentin GODIAU -Benjamin LELOUTRE -benjamin.leloutre -chambre 416 etage 4 aile sud -Benjamin LELOUTRE -Cassandre DI PASCALE -cassandre.dipascale -chambre 414 etage 4 aile sud -Cassandre DI PASCALE -Timothée KOOYMAN -timothee.kooyman -chambre 467 etage 4 aile nord -timothee.kooyman not found -Mathias LELOUTRE -mathias.leloutre -chambre 417 etage 4 aile sud -Mathias LELOUTRE -Claire PILOT -claire.pilot -chambre 461 etage 4 aile nord -Claire PILOT -Vincent ING -vincent.ing -chambre 371 etage 3 aile nord -Vincent ING -Corina PANDA -corina.panda -chambre 382 etage 3 aile nord -Corina PANDA -Florian JOLIVET -florian.jolivet -chambre 364 etage 3 aile nord -Florian JOLIVET -Romain DAUVERD -romain.dauverd -chambre 458 etage 4 aile nord -Romain DAUVERD -Aurelie DORVAL -aurelie.dorval -chambre 469 etage 4 aile nord -Aurelie DORVAL -Lucille FOSSIER -lucille.fossier -chambre 468 etage 4 aile nord -Lucille FOSSIER -Claude SANZ -claude.sanz -chambre 151 etage 1 aile nord -Claude SANZ -Ruben Duplex TIMNOU FANKEM -rubenduplex.timnoufankem -chambre 351 etage 3 aile nord -Ruben Duplex TIMNOU FANKEM -Guillermo GOMEZ BELLA -guillermo.gomezbella -chambre 470 etage 4 aile nord -Guillermo GOMEZ BELLA -Jean-Benoit JOUJOUTE -jean-benoit.joujoute -chambre 383 etage 3 aile nord -Jean-benoit JOUJOUTE -Yani DANIEL -yani.daniel -chambre 323 etage 3 aile sud -Yani DANIEL -Ophélie FOUCAULT-LORIEUX -ophelie.foucault-lorieu -chambre 352 etage 3 aile nord -ophelie.foucault-lorieu not found -Olivia DA CONCEICAO -olivia.daconceicao -chambre 366 etage 3 aile nord -Olivia DA CONCEICAO -Marylou MAURAS -marylou.mauras -chambre 428 etage 4 aile sud -Marylou MAURAS -Yi HUANG -yi.huang -chambre 168 etage 1 aile nord -Yi HUANG -Nadya MLIKI -nadya.mliki -chambre 62 etage 0 aile nord -Nadya MLIKI -THIERRY ALBERTIN -thierry.albertin -chambre 160 etage 1 aile nord -Thierry ALBERTIN -Leonard BOUVERET -leonard.bouveret -chambre 68 etage 0 aile nord -Leonard BOUVERET -Sebastien HENRY -sebastien.henry -chambre 157 etage 1 aile nord -Sebastien HENRY -Iurii TIMROV -iurii.timrov -chambre 410 etage 4 aile sud -Iurii TIMROV -Lamoth ORN -lamoth.orn -chambre 474 etage 4 aile nord -Lamoth ORN -Marine DUHAMEL -marine.duhamel -chambre 462 etage 4 aile nord -Marine DUHAMEL -gaetan HERMANT -gaetan.hermant -chambre 158 etage 1 aile nord -Gaetan HERMANT -Kenny BROGUY -kenny.broguy -chambre 354 etage 3 aile nord -Kenny BROGUY -Baher MAWLAWI -baher.mawlawi -chambre 402 etage 4 aile sud -Baher MAWLAWI -Hadrien THOMAS -hadrien.thomas -chambre 454 etage 4 aile nord -Hadrien THOMAS -Ronan JOUSSAIN -ronan.joussain -chambre 108 etage 1 aile sud -Ronan JOUSSAIN -Angelo ANDREAZZOLI -angelo.andreazzoli -chambre 115 etage 1 aile sud -Angelo ANDREAZZOLI -Sebastien FOUQUET -sebastien.fouquet -chambre 152 etage 1 aile nord -Sebastien FOUQUET -Marion BINDE -marion.binde -chambre 254 etage 2 aile nord -Marion BINDE -Vanessa RIFFET -vanessa.riffet -chambre 122 etage 1 aile sud -Vanessa RIFFET -Pierre MILLE -pierre.mille -chambre 201 etage 2 aile sud -Pierre MILLE -Benjamin GROUX -benjamin.groux -chambre 457 etage 4 aile nord -Benjamin GROUX -Tracy OBAM -tracy.obam -chambre 55 etage 0 aile nord -Tracy OBAM -Maxence DESCHEEMAECKER -maxence.descheemaecker -chambre 460 etage 4 aile nord -Maxence DESCHEEMAECKER -Bertrand MIROUX -bertrand.miroux -chambre 213 etage 2 aile sud -Bertrand MIROUX -hugues ASOFA ZEUFACK -hugues.asofazeufack -chambre 229 etage 2 aile sud -Hugues ASOFA ZEUFACK -Jean-Francois LEMAITRE -jean-francois.lemaitre -chambre 358 etage 3 aile nord -Jean-francois LEMAITRE -Leprince MBEMBA -leprince.mbemba -chambre 359 etage 3 aile nord -Leprince MBEMBA -Basile JUDE -basile.jude -chambre 63 etage 0 aile nord -Basile JUDE -Felaniaina RAKOTOVAO -felaniaina.rakotovao -chambre 415 etage 4 aile sud -Felaniaina RAKOTOVAO -Mickael VARLET -mickael.varlet -chambre 357 etage 3 aile nord -Mickael VARLET -Coralie MERLE -coralie.merle -chambre 480 etage 4 aile nord -Coralie MERLE -Perrine SOUDAIN -perrine.soudain -chambre 61 etage 0 aile nord -Perrine SOUDAIN -Isabelle ROUANET -isabelle.rouanet -chambre 263 etage 2 aile nord -Isabelle ROUANET -Nguyen LE -nguyen.le -chambre 251 etage 2 aile nord -Nguyen LE -Vincent VASSOUT -vincent.vassout -chambre 459 etage 4 aile nord -Vincent VASSOUT -Julien GRANET -julien.granet -chambre 425 etage 4 aile sud -Julien GRANET -Rannda CHEA -rannda.chea -chambre 267 etage 2 aile nord -Rannda CHEA -MATTHIEU KIEFFER -matthieu.kieffer -chambre 481 etage 4 aile nord -Matthieu KIEFFER -Lin SHUN-HUA -lin.shun-hua -chambre 253 etage 2 aile nord -Lin SHUN-HUA -Denis MIñAVORO -denis.minavoro -chambre 408 etage 4 aile sud -denis.minavoro not found -erwan CHEVALIER -erwan.chevalier -chambre 362 etage 3 aile nord -Erwan CHEVALIER -Rustom AL DIKA -rustom.aldika -chambre 422 etage 4 aile sud -Rustom AL DIKA -Guillaume MAGNIEZ -guillaume.magniez -chambre 22 etage 0 aile sud -Guillaume MAGNIEZ -Nicolas DEMOULIN -nicolas.demoulin -chambre 275 etage 2 aile nord -Nicolas DEMOULIN -Sivasangari NANDY -sivasangari.nandy -chambre 112 etage 1 aile sud -Sivasangari NANDY -Simon ANDRIEU -simon.andrieu -chambre 431 etage 4 aile sud -Simon ANDRIEU -Nolwenn GODEAU -nolwenn.godeau -chambre 64 etage 0 aile nord -Nolwenn GODEAU -Alexandre LOPES MEDA -alexandre.lopesmeda -chambre 113 etage 1 aile sud -Alexandre LOPES MEDA -Clémence SALOU -clemence.salou -chambre 119 etage 1 aile sud -clemence.salou not found -Cedic BEIX -cedic.beix -chambre 202 etage 2 aile sud -Cedic BEIX -alexandre DESTANNES -alexandre.destannes -chambre 1 etage 0 aile sud -Alexandre DESTANNES -JING RU -jing.ru -chambre 373 etage 3 aile nord -Jing RU -kenza LAHCENE -kenza.lahcene -chambre 206 etage 2 aile sud -Kenza LAHCENE -Chao SONG -chao.song -chambre 328 etage 3 aile sud -Chao SONG -Elodie LEFEBVRE-AGNES -elodie.lefebvre-agnes -chambre 207 etage 2 aile sud -Elodie LEFEBVRE-AGNES -cyrielle MOAL -cyrielle.moal -chambre 266 etage 2 aile nord -Cyrielle MOAL -Audrey ADAM -audrey.adam -chambre 208 etage 2 aile sud -Audrey ADAM -THANH BINH NGUYEN -thanhbinh.nguyen -chambre 214 etage 2 aile sud -Thanh Binh NGUYEN -Cyrille MVOUM MINAM -cyrille.mvoumminam -chambre 215 etage 2 aile sud -Cyrille MVOUM MINAM -NATHANAEL MASRI -nathanael.masri -chambre 179 etage 1 aile nord -Nathanael MASRI -marta PIEROPAN -marta.pieropan -chambre 161 etage 1 aile nord -Marta PIEROPAN -MAX GODARD -max.godard -chambre 218 etage 2 aile sud -Max GODARD -Djidi TRAORE -djidi.traore -chambre 429 etage 4 aile sud -Djidi TRAORE -Coraline HOSSEPIED -coraline.hossepied -chambre 219 etage 2 aile sud -Coraline HOSSEPIED -Ilja KEMPF -ilja.kempf -chambre 225 etage 2 aile sud -Ilja KEMPF -Bruno DUISIT -bruno.duisit -chambre 367 etage 3 aile nord -Bruno DUISIT -rachida EL MOUKTAFI -rachida.elmouktafi -chambre 463 etage 4 aile nord -Rachida EL MOUKTAFI -Loic DUPONT -loic.dupont -chambre 51 etage 0 aile nord -Loic DUPONT -Quoc Dat PHAM -quocdat.pham -chambre 283 etage 2 aile nord -Quoc Dat PHAM -Gwenaël NORMAND -gwenael.normand -chambre 314 etage 3 aile sud -Gwena��l NORMAND -Lydia DECHAUX -lydia.dechaux -chambre 381 etage 3 aile nord -Lydia DECHAUX -Aris TRITAS -aris.tritas -chambre 407 etage 4 aile sud -Aris TRITAS -Johan PAIOLA -johan.paiola -chambre 412 etage 4 aile sud -Johan PAIOLA -Benfattoum YOUGHOURTA -benfattoum.youghourta -chambre 172 etage 1 aile nord -Benfattoum YOUGHOURTA -adrian ZENTENO GUTIERREZ -adrian.zentenogutierre -chambre 479 etage 4 aile nord -Adrian ZENTENO GUTIERREZ -Xiaolu TAN -xiaolu.tan -chambre 376 etage 3 aile nord -Xiaolu TAN -Cecile TRAENDLIN -cecile.traendlin -chambre 406 etage 4 aile sud -Cecile TRAENDLIN -Justine SOUBRET -justine.soubret -chambre 162 etage 1 aile nord -Justine SOUBRET -ataulfo ANTON -ataulfo.anton -chambre 476 etage 4 aile nord -Ataulfo ANTON -Yanick Blaise Olivier ATEBA BETANDA -yanickblaiseoli.atebabetanda -chambre 370 etage 3 aile nord -Yanick Blaise Olivier ATEBA BETANDA -Christelle TCHALLA -christelle.tchalla -chambre 403 etage 4 aile sud -Christelle TCHALLA -Fabien BINI -fabien.bini -chambre 272 etage 2 aile nord -Fabien BINI -Olivier MAYHEW -olivier.mayhew -chambre 423 etage 4 aile sud -Olivier MAYHEW -Julie MARY -julie.mary -chambre 67 etage 0 aile nord -Julie MARY -Nassima NEKAA -nassima.nekaa -chambre 375 etage 3 aile nord -Nassima NEKAA -Sonny LION -sonny.lion -chambre 280 etage 2 aile nord -Sonny LION -Marwan GHRAB -marwan.ghrab -chambre 482 etage 4 aile nord -Marwan GHRAB -Audrey PORQUET -audrey.porquet -chambre 282 etage 2 aile nord -Audrey PORQUET -Fernando EZQUERRO -fernando.ezquerro -chambre 57 etage 0 aile nord -Fernando EZQUERRO -walid GHABBOUN -walid.ghabboun -chambre 473 etage 4 aile nord -Walid GHABBOUN -Ilias ARHOUN -ilias.arhoun -chambre 475 etage 4 aile nord -Ilias ARHOUN -Alexandre FORM -alexandre.form -chambre 12 etage 0 aile sud -Alexandre FORM -Myriam MONTIER -myriam.montier -chambre 163 etage 1 aile nord -Myriam MONTIER -zhihao CEN -zhihao.cen -chambre 379 etage 3 aile nord -Zhihao CEN -Alain THEVARAJAH -alain.thevarajah -chambre 326 etage 3 aile sud -Alain THEVARAJAH -Marie BOUYX -marie.bouyx -chambre 276 etage 2 aile nord -Marie BOUYX -Remy BESOGNET -remy.besognet -chambre 265 etage 2 aile nord -Remy BESOGNET -Andrei Ioath CHIRIAC -andreiioath.chiriac -chambre 3 etage 0 aile sud -Andrei Ioath CHIRIAC -lucas DA COSTA -lucas.dacosta -chambre 451 etage 4 aile nord -Lucas DA COSTA -marija VOSTINAR -marija.vostinar -chambre 154 etage 1 aile nord -Marija VOSTINAR -aleksandar GOSTOJIC -aleksandar.gostojic -chambre 155 etage 1 aile nord -Aleksandar GOSTOJIC -Arnaud GOLERET -arnaud.goleret -chambre 353 etage 3 aile nord -Arnaud GOLERET -STEVE SAVY -steve.savy -chambre 427 etage 4 aile sud -Steve SAVY -STEPHANIE HAJIW -stephanie.hajiw -chambre 478 etage 4 aile nord -Stephanie HAJIW -Felix LELIEVRE -felix.lelievre -chambre 330 etage 3 aile sud -Felix LELIEVRE -Louis GUERMONPREZ -louis.guermonprez -chambre 455 etage 4 aile nord -Louis GUERMONPREZ -Anthony PRUD HOMME -anthony.prudhomme -chambre 4 etage 0 aile sud -Anthony PRUD HOMME -benoit VARACHE -benoit.varache -chambre 322 etage 3 aile sud -Benoit VARACHE -Thibaut COLNE -thibaut.colne -chambre 363 etage 3 aile nord -Thibaut COLNE -Jong woo JIN -jongwoo.jin -chambre 329 etage 3 aile sud -Jong Woo JIN -Adeline RAUSCH -adeline.rausch -chambre 331 etage 3 aile sud -Adeline RAUSCH -xavier BLOT -xavier.blot -chambre 278 etage 2 aile nord -Xavier BLOT -Jonathan BICHEUX -jonathan.bicheux -chambre 332 etage 3 aile sud -Jonathan BICHEUX -Christophe RAIMBAULT -christophe.raimbault -chambre 466 etage 4 aile nord -Christophe RAIMBAULT -Sarah ALLOUCHE -sarah.allouche -chambre 60 etage 0 aile nord -Sarah ALLOUCHE -Bao LE MINH -bao.leminh -chambre 433 etage 4 aile sud -Bao LE MINH -Tristan SIMEON -tristan.simeon -chambre 176 etage 1 aile nord -Tristan SIMEON -anais RODRIGUES -anais.rodrigues -chambre 333 etage 3 aile sud -Anais RODRIGUES -Thibaut THEVENET -thibaut.thevenet -chambre 404 etage 4 aile sud -Thibaut THEVENET -TIEN HIEN NGUYEN -tienhien.nguyen -chambre 453 etage 4 aile nord -Tien Hien NGUYEN -Sebastien CLEUET -sebastien.cleuet -chambre 361 etage 3 aile nord -Sebastien CLEUET -jaime ARANCIBIA -jaime.arancibia -chambre 165 etage 1 aile nord -Jaime ARANCIBIA -BASTIEN CHASSARD -bastien.chassard -chambre 477 etage 4 aile nord -Bastien CHASSARD -rachid BOUDERKA -rachid.bouderka -chambre 483 etage 4 aile nord -Rachid BOUDERKA -HUANG XIAOGUANG -huang.xiaoguang -chambre 411 etage 4 aile sud -Huang XIAOGUANG -Aymen FAKHREDDINE -aymen.fakhreddine -chambre 257 etage 2 aile nord -Aymen FAKHREDDINE -Shaineze BENSALEM -shaineze.bensalem -chambre 380 etage 3 aile nord -Shaineze BENSALEM -Jonathan LE GOUESTRE -jonathan.legouestre -chambre 405 etage 4 aile sud -Jonathan LE GOUESTRE -soufiyan WAHAB -soufiyan.wahab -chambre 424 etage 4 aile sud -Soufiyan WAHAB -Marvin EUSTACHE -marvin.eustache -chambre 21 etage 0 aile sud -Marvin EUSTACHE -Fabrice PICARD -fabrice.picard -chambre 24 etage 0 aile sud -Fabrice PICARD -Abdul Aziz MOHAMAD -abdulaziz.mohamad -chambre 105 etage 1 aile sud -Abdul Aziz MOHAMAD -Melanie HOLBROOK -melanie.holbrook -chambre 116 etage 1 aile sud -Melanie HOLBROOK -Camille DELVAUX -camille.delvaux -chambre 123 etage 1 aile sud -Camille DELVAUX diff --git a/Brie/foo b/Brie/foo deleted file mode 100644 index d92a68a..0000000 --- a/Brie/foo +++ /dev/null @@ -1,32 +0,0 @@ -Boubakar OUATTARA -boubakar.ouattara -chambre 456 etage 4 aile nord -Boubakar OUATTARA -Tocha ZAABAY -tocha.zaabay -chambre 465 etage 4 aile nord -Tocha ZAABAY -Claude ALGOURDIN -claude.algourdin -chambre 418 etage 4 aile sud -Claude ALGOURDIN -Rachid CHEDRA -rachid.chedra -chambre 217 etage 2 aile sud -Rachid CHEDRA -Guillaume LETOUPIN -guillaume.letoupin -chambre 232 etage 2 aile sud -Guillaume LETOUPIN -erica MINUZ -erica.minuz -chambre 374 etage 3 aile nord -Erica MINUZ -FLAVIA MACHADO DOMINGUES -flavia.machadodomingue -chambre 452 etage 4 aile nord -flavia.machadodomingue not found -SOPHIA ID SALAH -sophia.idsalah -chambre 360 etage 3 aile nord -Sophia ID SALAH diff --git a/Brie/migrate_machines.py b/Brie/migrate_machines.py deleted file mode 100644 index 31d056f..0000000 --- a/Brie/migrate_machines.py +++ /dev/null @@ -1,130 +0,0 @@ -from paste.deploy import appconfig -from pylons import config - -from brie.config.environment import load_environment - -conf = appconfig('config:development.ini', relative_to='.') -load_environment(conf.global_conf, conf.local_conf) - -from brie.config import ldap_config -from brie.lib.ldap_helper import * -from brie.lib.camembert_helpers import * - -from brie.model import DBSession -from brie.model.camembert import * - -#bind = Ldap.connect("uid=roven.gabriel," + ldap_config.username_base_dn, "foobar") -bind = Ldap.connect("uid=admin,ou=Administrators,ou=TopologyManagement,o=netscaperoot", "t734DSSL61") - -members = bind.search(ldap_config.username_base_dn, "(objectClass=pacatnetMember)") - -def roomOrNone(member): - if member.has("roomNumber"): - return member.roomNumber.first() - return None -#end def - -def first(items): - for item in items: - return item - - return None -#end def - -nextuid = 30000 - - -base_chambres_dn = "ou=chambres," + ldap_config.base_dn - - -results = DBSession.query(UserPacaterie) - -for user in results: - uid = Translations.to_uid(user.prenom, user.nom) - print uid - - member = bind.search_first(ldap_config.username_base_dn, "(uid=" + uid + ")") - - - print member.dn - - machines = DBSession.query(Computer).filter(Computer.iduser == user.iduser) - - machine_id = 1 - - for machine in machines: - print machine_id - print machine.name - print machine.mac - print machine.ip - - machine_dn = "cn=" + str(machine_id) + "," + member.dn - - existant = bind.search_first(machine_dn, "(objectClass=*)") - - if existant is not None: - bind.delete_entry_subtree(existant.dn) - print "deleted : " + existant.dn - - print machine_dn - - machine_attributes = { - "objectClass" : ["top", "organizationalRole"], - "cn" : str(machine_id) - } - - bind.add_entry(machine_dn, machine_attributes) - - dhcp_dn = "cn=" + str(machine.name) + "," + machine_dn - - print dhcp_dn - - dhcp_attributes = { - "objectClass" : ["top", "uidObject", "dhcpHost"], - "cn" : str(machine.name), - "uid" : "machine_membre", - "dhcpHWAddress" : str("ethernet " + machine.mac), - "dhcpStatements" : str("fixed-address " + machine.name) - } - - bind.add_entry(dhcp_dn, dhcp_attributes) - - mac_auth_dn = "cn=mac," + machine_dn - - print mac_auth_dn - - flat_mac = str(machine.mac).replace(":", "") - - print flat_mac - - mac_auth_attributes = { - "objectClass" : ["top", "organizationalRole", "simpleSecurityObject", "uidObject"], - "cn" : "mac", - "uid" : flat_mac, - "userPassword" : flat_mac - } - - bind.add_entry(mac_auth_dn, mac_auth_attributes) - - dns_dn = "dlzHostName=" + machine.name + "," + machine_dn - - print dns_dn - - dns_attributes = { - "objectClass" : ["top", "dlzAbstractRecord", "dlzGenericRecord"], - "dlzData" : str(machine.ip), - "dlzHostName" : str(machine.name), - "dlzRecordId" : "1", - "dlzTTL" : "3600", - "dlzType" : "A" - } - - bind.add_entry(dns_dn, dns_attributes) - - machine_id = 1 + machine_id - - #end for machine - - - -#end for diff --git a/Brie/migrate_names_values.py b/Brie/migrate_names_values.py deleted file mode 100644 index 8f22a70..0000000 --- a/Brie/migrate_names_values.py +++ /dev/null @@ -1,107 +0,0 @@ -from paste.deploy import appconfig -from pylons import config - -from brie.config.environment import load_environment - -conf = appconfig('config:development.ini', relative_to='.') -load_environment(conf.global_conf, conf.local_conf) - -from brie.config import ldap_config -from brie.lib.ldap_helper import * -from brie.lib.camembert_helpers import * - -from brie.model import DBSession -from brie.model.camembert import * - -#bind = Ldap.connect("uid=roven.gabriel," + ldap_config.username_base_dn, "foobar") -bind = Ldap.connect("uid=admin,ou=Administrators,ou=TopologyManagement,o=netscaperoot", "t734DSSL61") - -members = bind.search(ldap_config.username_base_dn, "(objectClass=pacatnetMember)") - -def roomOrNone(member): - if member.has("roomNumber"): - return member.roomNumber.first() - return None -#end def - -def first(items): - for item in items: - return item - - return None -#end def - -nextuid = 30000 - - -base_chambres_dn = "ou=chambres," + ldap_config.base_dn - - -results = DBSession.query(Room) - -for room in results: - ldap_room = bind.search_first(base_chambres_dn, "(cn=" + room.name + ")") - member_of = { - "x-memberIn" : None - } - - try: - bind.delete_attr(ldap_room.dn, member_of) - print "deleted " + ldap_room.dn - except: - pass - #end try - -#end for - - -results = DBSession.query(UserPacaterie, Room).filter(UserPacaterie.idroom == Room.idroom) - -for (user, room) in results: - uid = Translations.to_uid(user.prenom, user.nom) - print uid - - member = bind.search_first(ldap_config.username_base_dn, "(uid=" + uid + ")") - - print room.name - - member_dn = "" - - if member is None: - member_dn = "uid=" + uid + ",ou=2012," + ldap_config.username_base_dn - - mail = user.mail - if mail is None: - mail = "" - attributes = { - "objectClass" : ["top", "person", "organizationalPerson", "inetOrgPerson", "pacatnetMember", "pykotaAccount", "posixAccount"], - "uid" :(uid).encode("utf-8"), - "cn" : (user.prenom + " " + user.nom.upper()).encode("utf-8"), - "sn" : (user.nom.upper()).encode("utf-8"), - "givenName" : (user.prenom).encode("utf-8"), - "uidNumber" : str(-1), - "gidNumber" : "10000", - "homeDirectory" : ("/net/home/" + uid).encode("utf-8"), - "mail" : (mail).encode("utf-8"), - "loginShell" : "/usr/bin/zsh".encode("utf-8") - } - - bind.add_entry(member_dn, attributes) - - else: - member_dn = member.dn - #end if - - - - ldap_room = bind.search_first(base_chambres_dn, "(cn=" + room.name + ")") - - print ldap_room.dn - print member_dn - - new_member_of = { - "x-memberIn" : str(member_dn) - } - - bind.replace_attr(ldap_room.dn, new_member_of) -#end for diff --git a/Brie/migrate_remove_useless_values.py b/Brie/migrate_remove_useless_values.py deleted file mode 100644 index d0c074d..0000000 --- a/Brie/migrate_remove_useless_values.py +++ /dev/null @@ -1,70 +0,0 @@ -from paste.deploy import appconfig -from pylons import config - -from brie.config.environment import load_environment - -conf = appconfig('config:development.ini', relative_to='.') -load_environment(conf.global_conf, conf.local_conf) - -from brie.config import ldap_config -from brie.lib.ldap_helper import * -from brie.lib.camembert_helpers import * - -from brie.model import DBSession -from brie.model.camembert import * - -#bind = Ldap.connect("uid=roven.gabriel,ou=2011," + ldap_config.username_base_dn, "foobar") -bind = Ldap.connect("uid=admin,ou=Administrators,ou=TopologyManagement,o=netscaperoot", "t734DSSL61") - -members = bind.search(ldap_config.username_base_dn, "(&(ou:dn:=2011)(objectClass=pacatnetMember))") - -def roomOrNone(member): - if member.has("roomNumber"): - return member.roomNumber.first() - return None -#end def - -def first(items): - for item in items: - return item - - return None -#end def - -nextuid = 30000 - -def add(uid, user, room_dn, nextuid): - user_dn = "uid=" + uid + "," + ldap_config.username_base_dn - mail = user.mail - if mail is None: - mail = "" - attributes = { - "objectClass" : ["top", "person", "organizationalPerson", "inetOrgPerson", "pacatnetMember", "pykotaAccount", "posixAccount"], - "uid" :(uid).encode("utf-8"), - "cn" : (user.prenom + " " + user.nom.upper()).encode("utf-8"), - "sn" : (user.nom.upper()).encode("utf-8"), - "givenName" : (user.prenom).encode("utf-8"), - "uidNumber" : str(nextuid), - "gidNumber" : "10000", - "homeDirectory" : ("/net/home/" + uid).encode("utf-8"), - "mail" : (mail).encode("utf-8"), - "x-room" : (room_dn).encode("utf-8"), - "loginShell" : "/usr/bin/zsh".encode("utf-8") - } - - bind.add_entry(user_dn, attributes) - -#end def - -filestream = open("people_to_change.txt", "r") - -for line in filestream: - uid = line.strip() - print "++" + uid + "++" - print "ou=2010," + ldap_config.username_base_dn - result = bind.search_first(ldap_config.username_base_dn, "(uid=" + uid + ")") - bind.rename_entry(result.dn, "uid=" + result.uid.first(), "ou=2010," + ldap_config.username_base_dn) - -#end for - - diff --git a/Brie/migrate_rooms.py b/Brie/migrate_rooms.py deleted file mode 100644 index d079b13..0000000 --- a/Brie/migrate_rooms.py +++ /dev/null @@ -1,80 +0,0 @@ -from paste.deploy import appconfig -from pylons import config - -from brie.config.environment import load_environment - -conf = appconfig('config:development.ini', relative_to='.') -load_environment(conf.global_conf, conf.local_conf) - -from brie.config import ldap_config -from brie.lib.ldap_helper import * - -from brie.model import DBSession -from brie.model.camembert import * - -import socket - -#bind = Ldap.connect("uid=roven.gabriel,ou=2010," + ldap_config.username_base_dn, "foobar") -bind = Ldap.connect("uid=admin,ou=Administrators,ou=TopologyManagement,o=netscaperoot", "t734DSSL61") - -members = bind.search(ldap_config.username_base_dn, "(objectClass=pacatnetMember)") - -def roomOrNone(member): - if member.has("roomNumber"): - return member.roomNumber.first() - return None -#end def - -def first(items): - for item in items: - return item - - return None -#end def - -def area(room_number): - floor_number = room_number % 100 - - if floor_number <= 33: - return "sud" - else: - return "nord" - #end if -#end def - -results = DBSession.query(Room, Materiel, Interface).filter(Room.idinterface == Interface.idinterface).filter(Interface.idmateriel == Materiel.idmateriel) - -for room, materiel, interface in results: - aile = area(room.idroom) - etage = str(room.idroom / 100) - - base_chambres_dn = "ou=chambres," + ldap_config.base_dn - - other_dn = "cn=" + etage + ",cn=" + aile + "," + base_chambres_dn - - full_dn = "cn=" + room.name + "," + other_dn - - print room - - switch_ip = socket.gethostbyname(str(materiel.hostname)) - - - attributes = { - "objectClass" : "pacaterieRoom", - "cn" : str(room.name), - "x-switch" : str(switch_ip), - "x-switchInterface" : str(interface.ifname) - } - - - print str(room.idinterface) - - print full_dn - try: - bind.replace_attr(full_dn, attributes) - except ldap.NO_SUCH_OBJECT: - bind.add_entry(full_dn, attributes) -# print attributes -#end for - - diff --git a/Brie/migrate_switch.py b/Brie/migrate_switch.py deleted file mode 100644 index 35749d6..0000000 --- a/Brie/migrate_switch.py +++ /dev/null @@ -1,59 +0,0 @@ -from paste.deploy import appconfig -from pylons import config - -from brie.config.environment import load_environment - -conf = appconfig('config:development.ini', relative_to='.') -load_environment(conf.global_conf, conf.local_conf) - -from brie.config import ldap_config -from brie.lib.ldap_helper import * -from brie.lib.camembert_helpers import * - -from brie.model import DBSession -from brie.model.camembert import * - -#bind = Ldap.connect("uid=roven.gabriel," + ldap_config.username_base_dn, "foobar") -bind = Ldap.connect("uid=admin,ou=Administrators,ou=TopologyManagement,o=netscaperoot", "t734DSSL61") - -members = bind.search(ldap_config.username_base_dn, "(objectClass=pacatnetMember)") - -def roomOrNone(member): - if member.has("roomNumber"): - return member.roomNumber.first() - return None -#end def - -def first(items): - for item in items: - return item - - return None -#end def - -nextuid = 30000 - - -base_chambres_dn = "ou=chambres," + ldap_config.base_dn - - -results = DBSession.query(Room, Interface).filter(Room.idinterface == Interface.idinterface).order_by(Room.name) - -for (room, interface) in results: - ldap_room = bind.search_first(base_chambres_dn, "(cn=" + room.name + ")") - print ldap_room.dn - - switch_id = { - "x-switchInterface" : str(interface.idinterface) - } - - bind.replace_attr(ldap_room.dn, switch_id) - - uid_attr = { - "objectClass" : "uidObject", - "uid" : str(room.idroom) - } - - bind.add_attr(ldap_room.dn, uid_attr) - -#end for