#!/usr/bin/python # -*- coding: utf-8 -*- # Liste des bâtiments avec switch manageables bat_switchs = [ 'a' , 'b' , 'c' , 'h' , 'i' , 'j' , 'm' , 'p'] bat_manuels = [ 'o' , 'r' ] # 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' } , 'g' : {'257':'001' , '180':'002-', '183':'003' , '135':'004' , '184':'005' , '174':'006' , 'XXX':'007-', '138':'008' , '136':'009' , '127':'010' , '176':'011' , '139':'012-' , '132':'013' , '172':'014' , '129':'015' , '186':'016' , '125':'017-', '181':'018' , '128':'019' , '178':'020' , '175':'021' , '130':'022' , '177':'023' , '185':'024' , '182':'025' , '131':'026' , '179':'027' , '299':'028' , '259':'029-', '310':'030' , '300':'031' , '251':'032-' , '295':'033' , 'XXX':'034-', '306':'035-', '058':'036' , '304':'037' , '254':'038' , '262':'039' , '002':'040' , '308':'041-', '252':'042' , '255':'043' , '256':'044' , '253':'045' , '297':'046' , '260':'047' , '015':'048' , '247':'101-', '301':'102', '249':'103' , '049':'104' , '014':'105' , '054':'106' , '061':'107-', '010':'108' , '005':'109' , '013':'110' , '006':'111' , '008':'112-' , '009':'113-', 'XXX':'114-', '001':'115-', '052':'116-' , '012':'117-', '053':'118' , '302':'119' , '066':'120' , '076':'121' , '118':'122' , '119':'123' , '072':'124' , '065':'125' , '073':'126' , '114':'127' , '112':'128' , '123':'129' , '120':'130' , '068':'131' , '113':'132' , 'XXX':'133' , '055':'134' , '117':'135-', '074':'136' , '063':'137' , '077':'138' , '071':'139' , '111':'140' , '121':'141' , '901':'142' , '122':'143' , '050':'144' , '064':'145' , '067':'146' , '115':'147' , '124':'148' , '059':'201' , '258':'202' , '307':'203' , 'XXX':'204' , '187':'205' , '194':'206', '190':'207' , '193':'208' , '195':'209' , '309':'210' , '189':'211' , '242':'212' , '238':'213' , '296':'214' , '241':'215' , '244':'216-' , '198':'217-', '199':'218-', '192':'219' , '239':'220' , '245':'221' , '303':'222' , '305':'223' , '191':'224' , '237':'225' , 'XXX':'226' , 'XXX':'227' , '243':'228' , 'XXX':'229' , 'XXX':'230' , '056':'231' , '004':'232' , 'XXX':'233' , '188':'234' , '007':'235' , '116':'236' , 'XXX':'237' , 'XXX':'238' , '240':'239' , 'XXX':'240' , 'XXX':'241' , '051':'242' , '197':'243' , '196':'244' , '011':'245' , '003':'246' , '298':'247' , '137':'248' , '288':'401' , '228':'547' , '097':'403-', '200':'404' , '095':'405' , '022':'406' , '090':'407' , '092':'408' , '109':'409' , '079':'410' , '201':'411' , '220':'412' , '203':'413' , '234':'414' , '224':'415' , '019':'416' , '041':'417' , '089':'418-', '037':'419' , '045':'420' , '099':'421' , '078':'422-', '904':'423' , '264':'424' , '206':'425' , '235':'426-', '268':'427' , '269':'428' , '229':'429' , '096':'430' , '272':'431' , '273':'432' , '274':'433' , '275':'434' , '277':'435' , '279':'436' , '281':'437' , '282':'438' , '217':'439' , '286':'440' , '287':'441' , '149':'442' , '204':'443' , '276':'444' , '227':'445' , '267':'446' , '213':'447' , '221':'448' , '211':'501' , '209':'502' , '290':'503' , '205':'504' , 'cl0':'505' , '219':'506', '231':'507' , '292':'508' , '233':'509' , '151':'510' , '152':'511' , '153':'512' , '083':'513' , '216':'514', '278':'515' , '157':'516-' , '208':'517' , '144':'518' , '289':'519' , '161':'520' , '293':'521' , '163':'522' , '903':'523' , '016':'524' , '166':'525' , '087':'526' , '168':'527-', '294':'528' , '280':'529' , '212':'530' , '265':'531' , '173':'532' , '094':'533' , '026':'534' , '266':'535' , '081':'536' , '080':'537' , '148':'538' , '102':'539' , '030':'540' , '018':'541' , '110':'542' , '035':'543-', '093':'544' , '159':'545' , '034':'546', '202':'402' , '230':'548' } , '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':'041' , '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':'121' , '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' , 'XXX':'616' , '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' : {'009':'001' , '010':'002' , '021':'003' , '022':'004' , '011':'005' , '012':'006' , '007':'007' , '008':'008' } , 'p' : { '001': '322' , '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'} , 'r' : { '100d':'001', '100g':'002', '131':'003', '132':'004' , '001d':'005'}, '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-1', 149 : 'uplink->batb-0', 150 : 'uplink->batb-2', 249 : 'uplink->batb-1', 250 : 'uplink->batb-3', 349 : 'uplink->batb-2', 350 : 'libre-service'}, '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->backbone', 50 : 'uplink->batj-1', 149 : 'uplink->batj-0', 150 : 'uplink->batj-2', 225 : 'uplink->batj-1', 226 : 'uplink->multiprise' }, 'm' : { 49 : 'uplink->backbone', 50 : 'uplink->batm-1', 149 : 'uplink->batm-0', 150 : 'uplink->batm-2', 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 : 'libre-service' }, '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' } , '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