#!/usr/bin/python # -*- coding: utf-8 -*- # Liste des bâtiments avec switch manageables bat_switchs = [ 'a' , 'b' , 'c' , 'h' , 'i' , 'j' , 'm' , 'p' , 'o' ] bat_manuels = [] # Y en a plus aucun :) ou presque aide={ 'g' : "appart du RDC=G901" } # Toute chambre ne commencant pas par 3 chiffres sera considéré comme un local club # En conséquence les locaux club ne devront pas commencer par 3 chiffres. #Pour le G : # le signe - indique un cable 10 Mbps # et XXX = prise vide # Correspondance chbre -> prise chbre_prises={ 'a' : {'112d':'001','112g':'002', '111d':'003', '111g':'004', '110d':'005', '110g':'006', '109':'007', '108':'008', '211g':'009', '211d':'010', '212g':'011', '212d':'012', '213g':'013', '213d':'014', '214':'015', '215':'016', '313g':'017', '313d':'018', '314':'019', '315':'020', '301g':'021', '301d':'022', '303':'023', '302':'024', '204':'025', '205':'026', '206':'027', '207':'028', '208':'029', '209':'030', '210g':'031', '210d':'032', '201g':'033', '202':'034', '201d':'035', '203':'036', '104':'037', '105':'038', '106':'039', '107':'040', '113g':'041', '113d':'042', '114':'043', '115':'044', '101g':'045', '101d':'046', '102':'047', '103':'048', '506d':'101', '506g':'102', '505d':'103', '505g':'104', '504d':'105', '504g':'106', '503d':'107', '503g':'108', '410d':'109', '410g':'110', '409':'111', '408':'112', '407':'113', '406':'114', '405':'115', '404':'116', '307':'117', '306':'118', '305':'119', '304':'120', '403':'121', '402':'122', '401d':'123', '401g':'124', '308':'125', '309':'126', '310g':'127', '310d':'128', '311g':'129', '311d':'130', '312g':'131', '312d':'132', '411g':'133', '411d':'134', '412g':'135', '412d':'136', '413g':'137', '413d':'138', '414':'139', '415':'140', '507g':'141', '507d':'142', '508g':'143', '508d':'144', '501g':'145', '501d':'146', '502g':'147', '502d':'148', '603g':'201', '604g':'203', '604d':'204', '605g':'205', '605d':'206', '606g':'207', '606d':'208', '607g':'209', '607d':'210', '601g':'211', '601d':'212', '602g':'213', '602d':'214', 'cl5':'215', 'cl4':'216', 'cl3':'217', 'cl2':'218', '608g':'219', '603d':'301', '608d':'302', 'cl6':'303'}, # Le local club du 6ème et les chambres A608d, A603d sont sur la # prise 202 (switch au 6ème dans le local technique à coté de # l'ascensseur 'b' : {'cl0':'047' , 'cl1':'046' , '105':'001' , '106':'002' , '107':'003' , '108':'004' , '120g':'005' , '120d':'006' , '121d':'007' , '121g':'008' , '205':'009' , '206':'010' , '207':'011' , '208':'012' , '109':'013' , '110':'014' , '111':'015' , '112':'016' , '122g':'017' , '122d':'018' , '123':'019' , '124':'020' , '209':'021' , '210':'022' , '211':'023' , '212':'024' , 'cl6':'025' , 'cl5':'026' , 'cl4':'027' , 'cl3':'028' , '101g':'029' , '101d':'030' , '102g':'031' , '102d':'032' , '113':'033' , '114':'034' , '115':'035' , '116':'036' , '103g':'037' , '103d':'038' , '104g':'039' , '104d':'040' , '117':'041' , '118':'042' , '119d':'043' , '119g':'044' , '220g':'101' , '220d':'102' , '221g':'103' , '221d':'104' , '305':'105' , '306':'106' , '307':'107' , '308':'108' , '320g':'109' , '320d':'110' , '321g':'111' , '321d':'112' , '222g':'113' , '222d':'114' , '223':'115' , '224':'116' , '309':'117' , '310':'118' , '311':'119' , '312':'120' , '322g':'121' , '322d':'122' , '323':'123' , '324':'124' , '201g':'125' , '201d':'126' , '202g':'127' , '202d':'128' , '213':'129' , '214':'130' , '215':'131' , '216':'132' , '301g':'133' , '301d':'134' , '302g':'135' , '302d':'136' , '203g':'137' , '203d':'138' , '204g':'139' , '204d':'140' , '217':'141' , '218':'142' , '219g':'143' , '219d':'144' , '303g':'145' , '303d':'146' , '304g':'147' , '304d':'148' , '405':'201' , '406':'202' , '407':'203' , '408':'204' , '420g':'205' , '420d':'206' , '421g':'207' , '421d':'208' , '505g':'209' , '505d':'210' , '506g':'211' , '506d':'212' , '411':'213' , '412':'214' , '410':'215' , '409':'216' , '422g':'217' , '422d':'218' , '423':'219' , '424':'220' , '507g':'221' , '507d':'222' , '508g':'223' , '508d':'224' , '313':'225' , '314':'226' , '316':'227' , '315':'228' , '401g':'229' , '401d':'230' , '402g':'231' , '402d':'232' , '413':'233' , '414':'234' , '415':'235' , '416':'236' , '317':'237' , '318':'238' , '319g':'239' , '319d':'240' , '403g':'241' , '403d':'242' , '404g':'243' , '404d':'244' , '417':'245' , '418':'246' , '419g':'247' , '419d':'248' , '511g':'301' , '511d':'302' , '512g':'303' , '512d':'304' , '603g':'305' , '603d':'306' , '604g':'307' , '604d':'308' , '609g':'309' , '609d':'310' , '610g':'311' , '610d':'312' , '513g':'313' , '513d':'314' , '514g':'315' , '514d':'316' , '605g':'317' , '605d':'318' , '606g':'319' , '606d':'320' , '611g':'321' , '611d':'322' , '612g':'323' , '612d':'324' , '501g':'325' , '501d':'326' , '502g':'327' , '502d':'328' , '607g':'329' , '607d':'330' , '608g':'331' , '608d':'332' , '613g':'333' , '613d':'334' , '614g':'335' , '614d':'336' , '503g':'337' , '503d':'338' , '504g':'339' , '504d':'340' , '509g':'341' , '509d':'342' , '510g':'343' , '510d':'344' , '601g':'345' , '601d':'346' , '602g':'347' , '602d':'348' } , 'c' : {'312d':'001', '313g':'002' , '313d':'003' , '314':'004' , '315':'005' , '401g':'006' , '401d':'007' , '402g':'008' , '402d':'009' , '403g':'010' , '406g':'011' , '406d':'012' , '407g':'013' , '407d':'014' , '408g':'015' , '408d':'016' , '409g':'017' , '409d':'018' , '410g':'019' , '410d':'020' , '411g':'021' , '411d':'022' , '414':'023' , '415':'024' , '501g':'025' , '501d':'026' , '502':'027' , '503':'028' , '601g':'029' , '601d':'030' , '602':'031' , '603':'032' , '403d':'033' , '404g':'034' , '404d':'035' , '412g':'036' , '412d':'037' , '413g':'038' , '413d':'039' , '405g':'040' , '405d':'041' , '311d':'042' , '312g':'043' , '311g':'044' , '310d':'045' , '310g':'046' , '309d':'047' , '309g':'048' , '103d':'101' , '111d':'102' , '103g':'103' , '111g':'104' , '102d':'105' , '110d':'106' , '102g':'107' , '110g':'108' , '101d':'109' , '109d':'110' , '101g':'111' , '109g':'112' , '205d':'113' , '213d':'114' , '307g':'115' , '205g':'116' , '213g':'117' , '306d':'118' , '204d':'119' , '212d':'120' , '306g':'121' , '204g':'122' , '212g':'123' , '305d':'124' , '203d':'125' , '211d':'126' , '305g':'127' , '203g':'128' , '211g':'129' , '304d':'130' , '104g':'131' , '112g':'132' , '206g':'133' , '214':'134' , '307d':'135' , '104d':'136' , '112d':'137' , '105g':'138' , '113g':'139' , '105d':'140' , '113d':'141' , '106g':'142' , '114':'143' , '106d':'144' , '115':'145' , '107g':'146' , '201g':'147' , '107d':'148' , '304g':'201' , '303d':'202' , '303g':'203' , '210d':'204' , '210g':'205' , '209d':'206' , '302d':'207' , '209g':'208' , '208d':'209' , '302g':'210' , '208g':'211' , '301d':'212' , '207d':'213' , '301g':'214' , '207g':'215' , '308d':'216' , '206d':'217' , '215':'218' , '308g':'219' , '108d':'220' , '202d':'221' , '108g':'222' , '202g':'223' , '201d':'224' } , # Ceci est une liste bidon, juste pour que les gens du g # puissent s'incrire quand meme. 'g' : { '700':'700','699':'699','698':'698','697':'697', '696':'696','695':'695','694':'694','693':'693', '692':'692','691':'691','690':'690','689':'689', '688':'688','687':'687','686':'686','685':'685', '684':'684','683':'683','682':'682','681':'681', '680':'680','679':'679','678':'678','677':'677', '676':'676','675':'675','674':'674','673':'673', '672':'672','671':'671','670':'670','669':'669', '668':'668','667':'667','666':'666','665':'665', '664':'664','663':'663','662':'662','661':'661', '660':'660','659':'659','658':'658','657':'657', '656':'656','655':'655','654':'654','653':'653', '652':'652','651':'651','650':'650','649':'649', '648':'648','647':'647','646':'646','645':'645', '644':'644','643':'643','642':'642','641':'641', '640':'640','639':'639','638':'638','637':'637', '636':'636','635':'635','634':'634','633':'633', '632':'632','631':'631','630':'630','629':'629', '628':'628','627':'627','626':'626','625':'625', '624':'624','623':'623','622':'622','621':'621', '620':'620','619':'619','618':'618','617':'617', '616':'616','615':'615','614':'614','613':'613', '612':'612','611':'611','610':'610','609':'609', '608':'608','607':'607','606':'606','605':'605', '604':'604','603':'603','602':'602','601':'601', '600':'600','599':'599','598':'598','597':'597', '596':'596','595':'595','594':'594','593':'593', '592':'592','591':'591','590':'590','589':'589', '588':'588','587':'587','586':'586','585':'585', '584':'584','583':'583','582':'582','581':'581', '580':'580','579':'579','578':'578','577':'577', '576':'576','575':'575','574':'574','573':'573', '572':'572','571':'571','570':'570','569':'569', '568':'568','567':'567','566':'566','565':'565', '564':'564','563':'563','562':'562','561':'561', '560':'560','559':'559','558':'558','557':'557', '556':'556','555':'555','554':'554','553':'553', '552':'552','551':'551','550':'550','549':'549', '548':'548','547':'547','546':'546','545':'545', '544':'544','543':'543','542':'542','541':'541', '540':'540','539':'539','538':'538','537':'537', '536':'536','535':'535','534':'534','533':'533', '532':'532','531':'531','530':'530','529':'529', '528':'528','527':'527','526':'526','525':'525', '524':'524','523':'523','522':'522','521':'521', '520':'520','519':'519','518':'518','517':'517', '516':'516','515':'515','514':'514','513':'513', '512':'512','511':'511','510':'510','509':'509', '508':'508','507':'507','506':'506','505':'505', '504':'504','503':'503','502':'502','501':'501', '500':'500','499':'499','498':'498','497':'497', '496':'496','495':'495','494':'494','493':'493', '492':'492','491':'491','490':'490','489':'489', '488':'488','487':'487','486':'486','485':'485', '484':'484','483':'483','482':'482','481':'481', '480':'480','479':'479','478':'478','477':'477', '476':'476','475':'475','474':'474','473':'473', '472':'472','471':'471','470':'470','469':'469', '468':'468','467':'467','466':'466','465':'465', '464':'464','463':'463','462':'462','461':'461', '460':'460','459':'459','458':'458','457':'457', '456':'456','455':'455','454':'454','453':'453', '452':'452','451':'451','450':'450','449':'449', '448':'448','447':'447','446':'446','445':'445', '444':'444','443':'443','442':'442','441':'441', '440':'440','439':'439','438':'438','437':'437', '436':'436','435':'435','434':'434','433':'433', '432':'432','431':'431','430':'430','429':'429', '428':'428','427':'427','426':'426','425':'425', '424':'424','423':'423','422':'422','421':'421', '420':'420','419':'419','418':'418','417':'417', '416':'416','415':'415','414':'414','413':'413', '412':'412','411':'411','410':'410','409':'409', '408':'408','407':'407','406':'406','405':'405', '404':'404','403':'403','402':'402','401':'401', '400':'400','399':'399','398':'398','397':'397', '396':'396','395':'395','394':'394','393':'393', '392':'392','391':'391','390':'390','389':'389', '388':'388','387':'387','386':'386','385':'385', '384':'384','383':'383','382':'382','381':'381', '380':'380','379':'379','378':'378','377':'377', '376':'376','375':'375','374':'374','373':'373', '372':'372','371':'371','370':'370','369':'369', '368':'368','367':'367','366':'366','365':'365', '364':'364','363':'363','362':'362','361':'361', '360':'360','359':'359','358':'358','357':'357', '356':'356','355':'355','354':'354','353':'353', '352':'352','351':'351','350':'350','349':'349', '348':'348','347':'347','346':'346','345':'345', '344':'344','343':'343','342':'342','341':'341', '340':'340','339':'339','338':'338','337':'337', '336':'336','335':'335','334':'334','333':'333', '332':'332','331':'331','330':'330','329':'329', '328':'328','327':'327','326':'326','325':'325', '324':'324','323':'323','322':'322','321':'321', '320':'320','319':'319','318':'318','317':'317', '316':'316','315':'315','314':'314','313':'313', '312':'312','311':'311','310':'310','309':'309', '308':'308','307':'307','306':'306','305':'305', '304':'304','303':'303','302':'302','301':'301', '300':'300','299':'299','298':'298','297':'297', '296':'296','295':'295','294':'294','293':'293', '292':'292','291':'291','290':'290','289':'289', '288':'288','287':'287','286':'286','285':'285', '284':'284','283':'283','282':'282','281':'281', '280':'280','279':'279','278':'278','277':'277', '276':'276','275':'275','274':'274','273':'273', '272':'272','271':'271','270':'270','269':'269', '268':'268','267':'267','266':'266','265':'265', '264':'264','263':'263','262':'262','261':'261', '260':'260','259':'259','258':'258','257':'257', '256':'256','255':'255','254':'254','253':'253', '252':'252','251':'251','250':'250','249':'249', '248':'248','247':'247','246':'246','245':'245', '244':'244','243':'243','242':'242','241':'241', '240':'240','239':'239','238':'238','237':'237', '236':'236','235':'235','234':'234','233':'233', '232':'232','231':'231','230':'230','229':'229', '228':'228','227':'227','226':'226','225':'225', '224':'224','223':'223','222':'222','221':'221', '220':'220','219':'219','218':'218','217':'217', '216':'216','215':'215','214':'214','213':'213', '212':'212','211':'211','210':'210','209':'209', '208':'208','207':'207','206':'206','205':'205', '204':'204','203':'203','202':'202','201':'201', '200':'200','199':'199','198':'198','197':'197', '196':'196','195':'195','194':'194','193':'193', '192':'192','191':'191','190':'190','189':'189', '188':'188','187':'187','186':'186','185':'185', '184':'184','183':'183','182':'182','181':'181', '180':'180','179':'179','178':'178','177':'177', '176':'176','175':'175','174':'174','173':'173', '172':'172','171':'171','170':'170','169':'169', '168':'168','167':'167','166':'166','165':'165', '164':'164','163':'163','162':'162','161':'161', '160':'160','159':'159','158':'158','157':'157', '156':'156','155':'155','154':'154','153':'153', '152':'152','151':'151','150':'150','149':'149', '148':'148','147':'147','146':'146','145':'145', '144':'144','143':'143','142':'142','141':'141', '140':'140','139':'139','138':'138','137':'137', '136':'136','135':'135','134':'134','133':'133', '132':'132','131':'131','130':'130','129':'129', '128':'128','127':'127','126':'126','125':'125', '124':'124','123':'123','122':'122','121':'121', '120':'120','119':'119','118':'118','117':'117', '116':'116','115':'115','114':'114','113':'113', '112':'112','111':'111','110':'110','109':'109', '108':'108','107':'107','106':'106','105':'105', '104':'104','103':'103','102':'102','101':'101', '100':'100','099':'099','098':'098','097':'097', '096':'096','095':'095','094':'094','093':'093', '092':'092','091':'091','090':'090','089':'089', '088':'088','087':'087','086':'086','085':'085', '084':'084','083':'083','082':'082','081':'081', '080':'080','079':'079','078':'078','077':'077', '076':'076','075':'075','074':'074','073':'073', '072':'072','071':'071','070':'070','069':'069', '068':'068','067':'067','066':'066','065':'065', '064':'064','063':'063','062':'062','061':'061', '060':'060','059':'059','058':'058','057':'057', '056':'056','055':'055','054':'054','053':'053', '052':'052','051':'051','050':'050','049':'049', '048':'048','047':'047','046':'046','045':'045', '044':'044','043':'043','042':'042','041':'041', '040':'040','039':'039','038':'038','037':'037', '036':'036','035':'035','034':'034','033':'033', '032':'032','031':'031','030':'030','029':'029', '028':'028','027':'027','026':'026','025':'025', '024':'024','023':'023','022':'022','021':'021', '020':'020','019':'019','018':'018','017':'017', '016':'016','015':'015','014':'014','013':'013', '012':'012','011':'011','010':'010','009':'009', '008':'008','007':'007','006':'006','005':'005', '004':'004','003':'003','002':'002','001':'001', '000':'000' } , 'h' : { 'cl1':'221' , 'cl2':'222' , 'cl3':'223' , 'cl4':'224' , '301':'101' , '302':'103' , '303':'105' , '304':'107' , '305':'109' , '306':'111' , '307':'113' , '308':'115' , '309g':'117' , '309d':'119' , '310g':'121' , '310d':'123' , '311g':'125' , '311d':'127' , '312':'129' , '313':'131' , '314':'133' , '315':'135' , '316':'137' , '317':'139' , '318':'141' , '319':'143' , '401g':'102' , '401d':'104' , '402g':'106' , '402d':'108' , '403g':'110' , '403d':'112' , '404g':'114' , '404d':'116' , '405g':'118' , '405d':'120' , '406g':'122' , '406d':'124' , '407g':'126' , '407d':'128' , '408g':'130' , '408d':'132' , '409g':'134' , '409d':'136' , '410g':'138' , '410d':'140' , '411g':'142' , '411d':'144' , '101g':'201' , '101d':'003' , '102g':'005' , '102d':'007' , '103g':'009' , '103d':'011' , '104g':'013' , '104d':'015' , '105g':'017' , '105d':'019' , '106g':'021' , '106d':'023' , '107g':'025' , '107d':'027' , '108g':'029' , '108d':'031' , '109g':'033' , '109d':'035' , '110g':'037' , '110d':'039' , '001g':'041' , '001d':'043' , '003g':'045' , '003d':'047' , '004g':'206' , '004d':'048' , '005g':'145' , '005d':'147' , '006g':'146' , '006d':'148' , '007g':'202' , '007d':'204' , '008g':'205' , '008d':'203' , '201':'002' , '202':'004' , '203':'006' , '204':'008' , '205':'010' , '206':'012' , '207':'014' , '208':'016' , '209g':'018' , '209d':'020' , '210g':'022' , '210d':'024' , '211g':'026' , '211d':'028' , '212':'030' , '213':'032' , '214':'034' , '215':'036' , '216':'038' , '217':'040' , '218':'042' , '219':'044' } , 'i' : {'110d':'201' , '403g':'202' , '105g':'203' , '209g':'204' , '309g':'205' , '312':'206' , 'cl2':'207' , 'cl3':'208' , 'cl4':'209' , 'cl1':'210' , '007g':'211' , '007d':'212' , '009d':'102' , '009g':'101' , '008g':'103' , '005d':'104' , '008d':'105' , '005g':'106' , '006d':'107' , '004d':'108' , '006g':'109' , '004g':'110' , '001g':'147' , '001d':'148' , '002g':'145' , '002d':'146' , '003g':'143' , '003d':'144' , '107g':'114' , '103g':'111' , '106d':'112' , '102d':'128' , '106g':'129' , '102g':'131' , '105d':'130' , '101d':'132' , '101g':'133' , '103d':'134' , '107d':'135' , '104g':'136' , '108g':'137' , '104d':'138' , '108d':'139' , '109g':'140' , '109d':'141' , '110g':'142' , '217':'044' , '216':'041' , '213':'047' , '206':'125' , '215':'043' , '208':'046' , '214':'045' , '207':'048' , '212':'123' , '205':'124' , '211d':'126' , '204':'127' , '211g':'121' , '203':'122' , '210d':'119' , '202':'120' , '210g':'117' , '201':'118' , '209d':'115' , '219':'116' , '218':'113' , '315':'034' , '308':'035' , '314':'036' , '307':'037' , '313':'038' , '306':'040' , '305':'039' , '311d':'042' , '304':'009' , '311g':'010' , '303':'008' , '302':'006' , '310d':'004' , '310g':'002' , '301':'007' , '309d':'005' , '319':'003' , '318':'001' , '317':'032' , '316':'033' , '405g':'021' , '411g':'022' , '405d':'019' , '411d':'020' , '401g':'018' , '406g':'017' , '406d':'015' , '401d':'016' , '407g':'013' , '402g':'014' , '402d':'012' , '407d':'011' , '409d':'023' , '410g':'024' , '409g':'025' , '404d':'026' , '404g':'028' , '410d':'027' , '408d':'029' , '403d':'030' , '408g':'031' } , 'j' : {'002g':'001' , '102g':'002' , '108g':'003' , '212d':'004' , '002d':'005' , '102d':'006' , '108d':'007' , '213g':'008' , '003g':'009' , '103g':'010' , '109g':'011' , '213d':'012' , '003d':'013' , '103d':'014' , '109d':'015' , '214':'016' , '004g':'017' , '104g':'018' , '110g':'019' , '215':'020' , '004d':'021' , '104d':'022' , '110d':'023' , '216':'024' , '005g':'025' , '105g':'026' , '111g':'027' , '217':'028' , '005d':'029' , '105d':'030' , '111d':'031' , '218':'032' , '106g':'033' , 'cl1':'034' , '112g':'035' , '219':'036' , '106d':'037' , '211g':'038' , '112d':'039' , '220':'040' , '107g':'313' , '211d':'042' , '101g':'043' , '221':'044' , '107d':'045' , '212g':'046' , '101d':'047' , '222':'048' , '311g':'101' , '309':'102' , '223':'103' , '320':'104' , '311d':'105' , '310':'106' , '201':'107' , '321':'108' , '312g':'109' , 'cl3':'110' , '202':'111' , '322':'112' , '312d':'113' , '406g':'114' , '203':'115' , '323':'116' , '313g':'117' , '406d':'118' , '204':'119' , '301':'120' , '313d':'314' , '407g':'122' , '205':'123' , '302':'124' , '314':'125' , '407d':'126' , '206':'127' , '303':'128' , '315':'129' , '408g':'130' , '207':'131' , '304':'132' , '316':'133' , '408d':'134' , '208':'135' , '305':'136' , '317':'137' , '409g':'138' , '209':'139' , '306':'140' , '318':'141' , '409d':'142' , '210':'143' , '307':'144' , '319':'145' , '410g':'146' , 'cl2':'147' , '308':'148' , '410d':'201' , '403d':'202' , '411g':'203' , '404g':'204' , '411d':'205' , '404d':'206' , '412g':'207' , '405g':'208' , '412d':'209' , '405d':'210' , '413g':'211' , 'XXX':'212' , '413d':'213' , 'cl0':'214' , '401g':'215' , 'XXX':'216' , '401d':'217' , 'XXX':'218' , '402g':'219' , 'XXX':'220' , '402d':'221' , 'XXX':'222' , '403g':'223' } , 'm' : {'413':'001' , '429':'002' , '513':'003' , '414':'004' , '430':'005' , '514':'006' , '415':'007' , '431':'008' , '515':'009' , '416':'010' , '432':'011' , '516':'012' , '417':'013' , '501':'014' , '517':'015' , '418':'016' , '502':'017' , '518':'018' , '419':'019' ,'502b':'020' , '519':'021' , '420':'022' , '503':'023' , '520':'024' , '421':'025' , '505':'026' , '521':'027' , '422':'028' , '506':'029' , '522':'030' , '423':'031' , '507':'032' , '523':'033' , '424':'034' , '508':'035' , '524':'036' , '425':'037' , '509':'038' , '525':'039' , '426':'040' , '510':'041' , '526':'042' , '427':'043' , '511':'044' , '527':'045' , '428':'046' , '512':'047' , '528':'048' , '306':'101' , '321':'102' , '405':'103' , '305':'104' , '320':'105' , '404':'106' , '304':'107' , '319':'108' , '403':'109' , '303':'110' , '318':'111' , '402':'112' , '302':'113' , '317':'114' , '401':'115' , '301':'116' , '316':'117' , '332':'118' , '232':'119' , '315':'120' , '331':'121' , '231':'122' , '314':'123' , '330':'124' , '313':'125' , '329':'126' , '412':'127' , '312':'128' , '328':'129' , '411':'130' , '311':'131' , '327':'620' , '410':'133' , '310':'134' , '326':'135' , '409':'136' , '309':'137' , '325':'138' , '408':'139' , '308':'140' , '324':'141' , '406b':'142', '306b':'143', '323':'144' , '407':'145' , '307':'146' , '322':'147' , '406':'148' , '116':'201' , '132':'202' , '215':'203' , '117':'204' , '201':'205' , '216':'206' , '118':'207' , '202':'208' , '217':'209' , '119':'210' , '203':'211' , '218':'212' , '120':'213' , '204':'214' , '219':'215' , '121':'216' , '205':'217' , '220':'218' , '122':'219' , '206':'220' , '221':'221' , '123':'222' , '206b':'223', '222':'224' , '124':'225' , '207':'226' , '223':'227' , '125':'228' , '208':'229' , '224':'230' , '126':'231' , '209':'232' , '225':'233' , '127':'234' , '210':'235' , '226':'236' , '128':'237' , '211':'238' , '227':'239' , '129':'240' , '212':'241' , '228':'242' , '130':'243' , '213':'244' , '229':'245' , '131':'246' , '214':'247' , '230':'248' , '133':'301' , '148':'302' , '164':'303' , '134':'304' , '149':'305' , '165':'306' , '135':'307' , '150':'308' , '166':'309' , '136':'310' , '151':'311' , '167':'312' , '137':'313' , '152':'314' , '168':'315' , '138':'316' , '153':'317' , '233':'318' , '138b':'319', '154':'320' , '234':'321' , '139':'322' , '155':'323' , '235':'324' , '140':'325' , '156':'326' , '236':'327' , '141':'328' , '157':'329' , '237':'330' , '142':'331' , '158':'332' , '238':'333' , '143':'334' , '159':'335' , '238b':'336', '144':'337' , '160':'338' , '239':'339' , '145':'340' , '161':'341' , '240':'342' , '146':'343' , '162':'344' , '241':'345' , '147':'346' , '163':'347' , '242':'348' , '243':'401' , '259':'402' , '338b':'403', '244':'404' , '260':'405' , '339':'406' , '245':'407' , '261':'408' , '340':'409' , '246':'410' , '262':'411' , '341':'412' , '247':'413' , '263':'414' , '342':'415' , '248':'416' , '264':'417' , '343':'418' , '249':'419' , '265':'420' , '344':'421' , '250':'422' , '266':'423' , '345':'424' , '251':'425' , '267':'426' , '346':'427' , '252':'428' , '268':'429' , '347':'430' , '253':'431' , '333':'432' , '348':'433' , '254':'434' , '334':'435' , '349':'436' , '255':'437' , '335':'438' , '350':'439' , '256':'440' , '336':'441' , '351':'442' , '257':'443' , '337':'444' , '352':'445' , '258':'446' , '338':'447' , '353':'448' , '354':'501' , '434':'502' , '449':'503' , '355':'504' , '435':'505' , '450':'506' , '356':'507' , '436':'508' , '451':'509' , '357':'510' , '437':'511' , '452':'512' , '358':'513' , '438':'514' , '453':'515' , '359':'516' , '438b':'517' , '454':'518' , '360':'519' , '439':'520' , '455':'521' , '361':'522' , '440':'523' , '456':'524' , '362':'525' , '441':'526' , '457':'527' , '363':'528' , '442':'529' , '458':'530' , '364':'531' , '443':'532' , '459':'533' , '365':'534' , '444':'535' , '460':'536' , '366':'537' , '445':'538' , '461':'539' , '367':'540' , '446':'541' , '462':'542' , '368':'543' , '447':'544' , '463':'545' , '433':'546' , '448':'547' , '464':'548' , '465':'601' , '466':'602' , '467':'603' , '468':'604' , '007':'605' , '101':'606' , '102':'607' , '103':'608' , '104':'609' , '105':'610' , '106':'611' , '106b':'612' , '107':'613' , 'cl1':'614' , 'XXX':'615' , '901':'615' , 'XXX':'617' , 'XXX':'618' , 'XXX':'619' , 'XXX':'620' , 'XXX':'621' , '504':'622' , 'XXX':'623' , 'cl0':'624' , '001':'625' , '002':'626' , '003':'627' , '004':'621' , '005':'629' , '006':'630' , '108':'631' , '109':'632' , '110':'633' , '111':'634' , '112':'635' , '113':'636' , '114':'637' , '115':'638' , 'XXX':'639' , 'XXX':'640' , 'XXX':'641' , 'XXX':'642' , 'XXX':'643' , 'XXX':'644' , 'XXX':'645' , 'XXX':'646' , 'XXX':'647' , 'XXX':'648' } , 'o' : {'100d':'001' , '100g':'003'}, 'p' : { '101':'301' , '102':'303' , '103':'305' , '104':'307' , '105':'309' , '106':'311' , '111':'313' , '112':'315' , '113':'317' , '114':'319' , '115':'321' , '116':'323' , '117':'325' , '118':'327' , '119':'329' , '120':'331' , '121':'302' , '122':'304' , '123':'306' , '124':'308' , '125':'310' , '126':'312' , '127':'314' , '128':'316' , '129':'318' , '130':'320' , '131':'323' , '201':'201' , '202':'203' , '203':'205' , '204':'207' , '205':'209' , '206':'211' , '211':'213' , '212':'215' , '213':'217' , '214':'219' , '215':'221' , '216':'223' , '217':'225' , '218':'227' , '219':'229' , '220':'231' , '221':'202' , '222':'204' , '223':'206' , '224':'208' , '225':'210' , '226':'212' , '227':'214' , '228':'216' , '229':'218' , '230':'220' , '231':'222' , '301':'101' , '302':'103' , '303':'105' , '304':'107' , '305':'109' , '306':'111' , '311':'113' , '312':'115' , '313':'117' , '314':'119' , '315':'121' , '316':'123' , '317':'125' , '318':'127' , '319':'129' , '320':'131' , '321':'102' , '322':'104' , '323':'106' , '324':'108' , '325':'110' , '326':'112' , '327':'114' , '328':'116' , '329':'118' , '330':'120' , '331':'122' , '401':'001' , '402':'003' , '403':'005' , '404':'007' , '405':'009' , '406':'011' , '411':'013' , '412':'015' , '413':'017' , '414':'019' , '415':'021' , '416':'023' , '417':'025' , '418':'027' , '419':'029' , '420':'031' , '421':'002' , '422':'004' , '423':'006' , '424':'008' , '425':'010' , '426':'012' , '427':'014' , '428':'016' , '429':'018' , '430':'020' , '431':'022' , '499':'033'} , 'v' : {'XXX':'601' , 'XXX':'602' , 'XXX':'603' , 'XXX':'604' , 'XXX':'605' , 'XXX':'606' , 'XXX':'607' , 'XXX':'608' , 'XXX':'609' , 'XXX':'610' , 'XXX':'611' , 'XXX':'612' , 'XXX':'613' , 'XXX':'614' , 'XXX':'615' , 'XXX':'616' , 'XXX':'617' , 'XXX':'618' , 'XXX':'619' , 'XXX':'620' , 'XXX':'621' , 'XXX':'622' , 'XXX':'623' , 'XXX':'624' , 'XXX':'625' , 'XXX':'626' , 'XXX':'627' , 'XXX':'628' , 'XXX':'629' , 'XXX':'630' , 'XXX':'631' , 'XXX':'632' , 'XXX':'633' , 'XXX':'634' , 'XXX':'635' , 'XXX':'636' , 'XXX':'637' , 'XXX':'638' , 'XXX':'639' , 'XXX':'640' , 'XXX':'641' , 'XXX':'642' , 'XXX':'643' , 'XXX':'644' , 'XXX':'645' , 'XXX':'646', 'XXX':'647' , 'XXX':'648' , # Ce switch n'est pas au bâtiment G comme on pourrait le croire '999':'701' , '998':'702' , '997':'703' , '996':'704'} } # Prises d'uplink, de machines du crans / Prises d'utilité CRANS uplink_prises={ 'a' : { 49 : 'uplink->backbone', 50 : 'uplink->bata-1', 149 : 'uplink->bata-0', 150 : 'uplink->bata-2', 202 : 'libre-service', 225 : 'uplink->bata-1', 226 : 'uplink->bata-3', 325 : 'uplink->bata-2', 326 : 'libre-service' }, 'b' : { 48 : 'libre-service', 49 : 'uplink->backbone', 50 : 'uplink->batb-2', # 149 semble être morte: 149 : 'libre-service', 150 : 'uplink->batb-3', 249 : 'uplink->batb-0', 250 : 'uplink->batb-3', 349 : 'uplink->batb-2', 350 : 'uplink->batb-1'}, 'c' : { 49 : 'uplink->backbone', 50 : 'uplink->batc-1', 149 : 'uplink->batc-0', 150 : 'uplink->batc-2', 225 : 'uplink->batc-1' }, 'g' : { 49 : 'uplink->backbone', 50 : 'uplink->batg-1', 149 : 'uplink->batg-0', 150 : 'uplink->batg-2', 249 : 'uplink->batg-1', 250 : 'uplink->batg-4', 449 : 'uplink->batg-2', 450 : 'uplink->batg-5', 549 : 'uplink->batg-4', 550 : 'libre-service' }, 'h' : { 49 : 'uplink->backbone', 50 : 'uplink->bath-1', 149 : 'uplink->bath-0', 150 : 'uplink->bath-2', 225 : 'uplink->bath-1' }, 'i' : { 49 : 'uplink->backbone', 50 : 'uplink->bati-1', 149 : 'uplink->bati-0', 150 : 'uplink->bati-2', 225 : 'uplink->bati-1', 226 : 'libre-service' }, 'j' : { 49 : 'uplink->batj-3', 50 : 'libre-service', 149 : 'uplink->batj-3', 150 : 'libre-service', # XXX: 150 semble morte 225 : 'uplink->batj-3', 226 : 'libre-service', 321 : 'uplink->backbone', 301 : 'uplink->batj-0', 303 : 'uplink->batj-1', 305 : 'uplink->batj-2', 307 : 'uplink->multiprise'}, 'm' : { 49 : 'uplink->batm-6', 50 : 'libre-service', 149 : 'uplink->batm-2', 150 : 'uplink->backbone', 249 : 'uplink->batm-1', 250 : 'uplink->batm-3', 349 : 'uplink->batm-2', 350 : 'uplink->batm-4', 449 : 'uplink->batm-3', 450 : 'uplink->batm-5', 549 : 'uplink->batm-4', 550 : 'uplink->batm-6', 649 : 'uplink->batm-5', 650 : 'uplink->batm-0' }, 'p' : {349 : 'uplink->batp-2', 350 : 'libre-service', 249 : 'uplink->batp-1', 247 : 'uplink->batp-3', 149 : 'uplink->batp-0', 150 : 'uplink->batp-2', 49 : 'uplink->backbone', 50 : 'uplink->batp-1' } , 'o' : { 25 : 'uplink->D-Link(autocom)', 26 : 'libre-service' } , 'v' : {149 : 'libre-service', 150 : 'libre-service', 749 : 'libre-service', 750 : 'libre-service' } } # Dictionnaire inverse def reverse(bat) : """ Retourne un dictionnaire : { prise : [ chambre(s) ] } """ reverse={} for chbre, prise in chbre_prises[bat].items() : if reverse.has_key(prise) : reverse[prise] += [ chbre ] else : reverse[prise] = [ chbre ] return reverse def all_switchs(bat=None): """Retourne la liste des switchs pour un batiment. Si bat est donné, seulement pour le bâtiment demandé, sinon pour tous les bâtiments. bat peut être une liste aussi. Le backbone n'est pas pris en compte. La convention est batx-y sauf si y=0 et on a donc simplement batx""" def cmp(x,y): if int(x[5]) < int(y[5]): return 1 if x[3] < y[3]: return 1 return -1 if bat == None: bat = bat_switchs if type(bat) not in [ tuple, list ] : bat = [bat] switchs = [] for b in map(lambda x: x.lower(), bat): dup = map(lambda x: x[0], reverse(b).keys()) # dup contient des elements en double for n in list(dict(zip(dup,[None]*len(dup)))): switchs.append("bat%s-%s.adm.crans.org" % (b, n)) switchs.sort(cmp) return switchs # Locaux clubs : lecture dans chbre_prises et ajout des locaux dans les bats non # manageables def locaux_clubs() : """ Retourne le dictionaire des locaux club : {bat: [locaux]} """ # Corespondance chbre -> nom du local club locaux_clubs = { 'Bcl0' : 'Kfet' , 'Bcl1' : 'Med', 'Pcl0' : 'Bds' , 'Mcl0' : 'Shape', 'Mcl1' : 'Krobot', 'EXT' : 'EXT' } # Ajout des locaux d'étage A, B et C for b in 'ABC' : for i in range(2,7) : locaux_clubs['%scl%i' % ( b, i)] = '%i@%s' % (i, b) # Ajout de ceux des H, I et J for b in 'HIJ' : for i in range(1,5) : locaux_clubs['%scl%i' % ( b, i)] = '%i@%s' % (i, b) # Supression du 2@B et 4@J locaux_clubs.pop('Bcl2') locaux_clubs.pop('Jcl4') return locaux_clubs