4 while '@' in repr(seqList)
and level<maxLevel:
6 for specifiedCommand
in seqList:
7 if specifiedCommand.startswith(
'@'):
8 location=specifiedCommand[1:]
9 if not location
in mapping:
10 raise Exception(
"Impossible to map "+location+
" from "+repr(mapping))
11 mappedTo=mapping[location]
16 seqList.remove(specifiedCommand)
17 if key
in mappedTo
and mappedTo[key]
is not None:
18 seqList.extend(mappedTo[key].
split(
'+'))
21 raise Exception(
"Could not fully expand "+repr(seqList)+
" from "+repr(mapping))
26 'PHYS': {
'sequence':
'',
29 'L1' : {
'customize':
'nanoL1TrigObjCustomize'},
30 'L1FULL' : {
'customize':
'nanoL1TrigObjCustomizeFull'},
32 'Prompt' : {
'sequence':
'@PHYS',
33 'customize':
'@PHYS+@L1'}
def expandNanoMapping(seqList, mapping, key)
def split(sequence, size)