#!/usr/bin/python # -*- coding: utf-8 -*- # Liste des bâtiments avec switch manageables bat_switchs = [ 'a' , 'b' , 'c' , 'g', 'h' , 'i' , 'j' , 'm' , 'p' , 'o' ] bat_manuels = [] # Y en a plus aucun :) ou presque aide={ 'g' : "auxiliaire de vie: G012, prises réseau salle info: G09x" } # 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' } , 'g' : { '001': '001', '002': '002', '003': '003', '004': '004', '005': '005', '006': '006', '007': '007', '008': '008', '009': '009', '010': '010', '011': '011', '012': '012', '091': '013', '092': '014', '093': '015', '094': '016', '095': '017', '096': '018', '097': '019', '101': '601', '102': '603', '103': '605', '104': '607', '105': '609', '106': '611', '107': '613', '108': '615', '109': '617', '110': '619', '111': '621', '112': '623', '113': '625', '114': '627', '115': '629', '116': '631', '117': '633', '118': '635', '119': '637', '120': '639', '121': '641', '122': '643', '123': '645', '124': '647', '125': '602', '126': '604', '127': '606', '128': '608', '129': '610', '130': '612', '131': '614', '132': '616', '133': '618', '134': '620', '135': '622', '136': '624', '137': '626', '138': '628', '139': '630', '140': '632', '141': '634', '142': '636', '143': '638', '144': '640', '145': '642', '146': '644', '147': '646', '148': '648', '149': '707', '150': '709', '151': '711', '201': '501', '202': '503', '203': '505', '204': '507', '205': '509', '206': '511', '207': '513', '208': '515', '209': '517', '210': '519', '211': '521', '212': '523', '213': '525', '214': '527', '215': '529', '216': '531', '217': '533', '218': '535', '219': '537', '220': '539', '221': '541', '222': '543', '223': '545', '224': '547', '225': '502', '226': '504', '227': '506', '228': '508', '229': '510', '230': '512', '231': '514', '232': '516', '233': '518', '234': '520', '235': '522', '236': '524', '237': '526', '238': '528', '239': '530', '240': '532', '241': '534', '242': '536', '243': '538', '244': '540', '245': '542', '246': '544', '247': '546', '248': '548', '249': '713', '250': '715', '251': '717', '301': '401', '302': '403', '303': '405', '304': '407', '305': '409', '306': '411', '307': '413', '308': '415', '309': '417', '310': '419', '311': '421', '312': '423', '313': '425', '314': '427', '315': '429', '316': '431', '317': '433', '318': '435', '319': '437', '320': '439', '321': '441', '322': '443', '323': '445', '324': '447', '325': '402', '326': '404', '327': '406', '328': '408', '329': '410', '330': '412', '331': '414', '332': '416', '333': '418', '334': '420', '335': '422', '336': '424', '337': '426', '338': '428', '339': '430', '340': '432', '341': '434', '342': '436', '343': '438', '344': '440', '345': '442', '346': '444', '347': '446', '348': '448', '349': '719', '350': '721', '351': '723', '401': '201', '402': '202', '403': '203', '404': '204', '405': '205', '406': '206', '407': '207', '408': '208', '409': '209', '410': '210', '411': '211', '412': '212', '413': '213', '414': '214', '415': '215', '416': '216', '417': '217', '418': '218', '419': '219', '420': '220', '421': '221', '422': '222', '423': '223', '424': '224', '425': '225', '426': '226', '427': '227', '428': '228', '429': '229', '430': '230', '431': '231', '432': '232', '433': '233', '434': '234', '435': '235', '436': '236', '437': '237', '438': '238', '439': '239', '440': '240', '441': '241', '442': '242', '443': '243', '444': '244', '445': '245', '446': '246', '447': '247', '448': '248', '449': '301', '450': '302', '451': '303', '501': '101', '502': '102', '503': '103', '504': '104', '505': '105', '506': '106', '507': '107', '508': '108', '509': '109', '510': '110', '511': '111', '512': '112', '513': '113', '514': '114', '515': '115', '516': '116', '517': '117', '518': '118', '519': '119', '520': '120', '521': '121', '522': '122', '523': '123', '524': '124', '525': '125', '526': '126', '527': '127', '528': '128', '529': '129', '530': '130', '531': '131', '532': '132', '533': '133', '534': '134', '535': '135', '536': '136', '537': '137', '538': '138', '539': '139', '540': '140', '541': '141', '542': '142', '543': '143', '544': '144', '545': '145', '546': '146', '547': '147', '548': '148', '549': '304', '550': '305', '551': '306' }, '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' , '600':'616' , '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 : 'libre-service', 50 : 'uplink->batb-1', # 149 semblait être morte; 049 semble être morte 149 : 'uplink->batb-0', 150 : 'uplink->batb-3', 249 : 'uplink->backbone', 250 : 'uplink->batb-3', 349 : 'uplink->batb-1', 350 : 'uplink->batb-2'}, 'c' : { 49 : 'uplink->backbone', 50 : 'uplink->batc-1', 149 : 'uplink->batc-0', 150 : 'uplink->batc-2', 225 : 'uplink->batc-1' }, 'g' : { 25 : 'uplinkpourri->batj-3', 26 : 'libre-service', 27 : 'uplink->batg-1', # fibre 149 : 'uplink->batg-4', 150 : 'uplink->batg-2', 151 : 'uplink->batg-0', # fibre 249 : 'uplink->batg-1', 250 : 'uplink->batg-3', 325 : 'uplink->batg-2', 326 : 'libre-service', 449 : 'uplink->batg-1', 450 : 'uplink->batg-5', 549 : 'uplink->batg-4', 550 : 'uplink->batg-6', 649 : 'uplink->batg-5', 650 : 'uplink->batg-5', 725 : 'uplink->batg-6', 726 : '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', 319 : 'uplinkpourri->batg-0'}, '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' : { 49 : 'libre-service', 50 : 'libre-service', 51 : 'uplink->backbone', 52 : 'libre-service', 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