scripts/gestion/annuaires.py
salles d11b9e3343 En fait c'est pas ncessaire, cf pegase sur H150
darcs-hash:20060105224115-72cb0-caf05cd521d10c801575838e4b74c427a861d5ee.gz
2006-01-05 23:41:15 +01:00

551 lines
25 KiB
Python
Executable file

#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
# Liste des bâtiments avec switch manageables
bat_switchs = [ 'a', 'b', 'c' , 'g' , 'h' , 'i' , 'j' , 'm' ]
bat_manuels = [ 'p' ]
aide={
'g' : "appart du RDC=G901" ,
'h' : "Chambres 7 et 8 et les locaux clubs sur la prise 046"
}
# 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', '603d':'202', '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', '608d':'202',
'cl6':'202'},
# 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
# Prise 004 pour krobot (cl1) au lieu de B108 (celle-ci est visiblement
# insalubre)
'b' :
{'cl0':'047' ,
'105':'001' , '106':'002' , '107':'003' , 'cl1':'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' , 'XXX':'214' , '241':'215' , '244':'216-' ,
'198':'217-', '199':'218-', '192':'219' , '239':'220' ,
'245':'221' , '303':'222' , '305':'223' , '191':'224' ,
'XXX':'225' , 'XXX':'226' , 'XXX':'227' , 'XXX':'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':'402' , '097':'403-', '200':'404' ,
'095':'405' , '022':'406' , '090':'407' , '092':'408' ,
'109':'409' , '079':'410' , '201':'411' , '220':'412' ,
'203':'413' , 'XXX':'414' , '224':'415' , '019':'416' ,
'041':'417' , '089':'418-', '037':'419' , '045':'420' ,
'099':'421' , '078':'422-', '904':'423' , '264':'424' ,
'083':'425' , 'XXX':'426-', '268':'427' , '269':'428' ,
'270':'429' , 'XXX':'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' ,
'XXX':'445' , '222':'446' , '107':'447' , '221':'448' ,
'140':'501' , '143':'502' , '142':'503' , '223':'504' ,
'cl0':'505' , '147':'506-', '165':'507' , '292':'508' ,
'150':'509' , '151':'510' , '152':'511' , '153':'512' ,
'082':'513' , '216':'514', '278':'515' , '157':'516-' ,
'208':'517' , '144':'518' , 'XXX':'519' , '161':'520' ,
'293':'521' , '163':'522' , '903':'523' , '016':'524' ,
'166':'525' , '087':'526' , '168':'527-', 'XXX':'528' ,
'280':'529' , 'XXX':'530' , '209':'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', '021':'547' , '038':'548' } ,
'h' :
{ '007g':'046', '007d':'046' , '008g':'046' , '008d':'046' ,
'cl2':'046' , 'cl3':'046' , 'cl4':'046' , 'cl1':'046' ,
'cl0':'046' , '004g':'046' , '101g':'046' ,
'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' ,
'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' ,
'004d':'048' , '005g':'145' , '005d':'147' , '006g':'146' ,
'006d':'148' ,
'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' , '410d':'025' , '404d':'026' ,
'404g':'028' , '409g':'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' , '504':'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':'132' ,
'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' , 'XXX':'614' , 'XXX':'615' , 'XXX':'616' ,
'XXX':'617' , 'XXX':'618' , 'XXX':'619' , 'XXX':'620' ,
'XXX':'621' , 'XXX':'622' , 'XXX':'623' , 'XXX':'624' ,
'001':'625' , '002':'626' , '003':'627' , '004':'628' ,
'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'
} ,
'p' :
{'101':'101' , '102':'102' , '103':'103' , '104':'104' ,
'105':'105' , '106':'106' , '111':'111' , '112':'112' ,
'113':'113' , '114':'114' , '115':'115' , '116':'116' ,
'117':'117' , '118':'118' , '119':'119' , '120':'120' ,
'121':'121' , '122':'122' , '123':'123' , '124':'124' ,
'125':'125' , '126':'126' , '127':'127' , '128':'128' ,
'129':'129' , '130':'130' , '131':'131' ,
'201':'201' , '202':'202' , '203':'203' , '204':'204' ,
'205':'205' , '206':'206' , '211':'211' , '212':'212' ,
'213':'213' , '214':'214' , '215':'215' , '216':'216' ,
'217':'217' , '218':'218' , '219':'219' , '220':'220' ,
'221':'221' , '222':'222' , '223':'223' , '224':'224' ,
'225':'225' , '226':'226' , '227':'227' , '228':'228' ,
'229':'229' , '230':'230' , '231':'231' ,
'301':'301' , '302':'302' , '303':'303' , '304':'304' ,
'305':'305' , '306':'306' , '311':'311' , '312':'312' ,
'313':'313' , '314':'314' , '315':'315' , '316':'316' ,
'317':'317' , '318':'318' , '319':'319' , '320':'320' ,
'321':'321' , '322':'322' , '323':'323' , '324':'324' ,
'325':'325' , '326':'326' , '327':'327' , '328':'328' ,
'329':'329' , '330':'330' , '331':'331' ,
'401':'401' , '402':'402' , '403':'403' , '404':'404' ,
'405':'405' , '406':'406' , '411':'411' , '412':'412' ,
'413':'413' , '414':'414' , '415':'415' , '416':'416' ,
'417':'417' , '418':'418' , '419':'419' , '420':'420' ,
'421':'421' , '422':'422' , '423':'423' , '424':'424' ,
'425':'425' , '426':'426' , '427':'427' , '428':'428' ,
'429':'429' , '430':'430' , '431':'431' }
}
# Prises d'uplink, de machines du crans
uplink_prises={ 'a' :
{ 49 : 'uplink->backbone', 50 : 'uplink->bata-1',
149 : 'uplink->bata-0', 150 : 'uplink->bata-2',
225 : 'uplink->bata-1', 226 : 'libre-service' },
'b' :
{ 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'},
'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' },
'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' }
}
# 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 dicctionaire des locaux club : { bat :[ locaux ] } """
# Corespondance chbre -> nom du local club
locaux_clubs = { 'Bcl0' : 'Kfet' ,
'Bcl1' : 'Krobot',
'Gcl0' : 'Med' ,
'Pcl0' : 'Bds' ,
'Hcl0' : 'Eileo',
'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')
locaux_clubs.pop('Icl4')
return locaux_clubs