diff --git a/site_ansto/instrument/util/gen_sct.py b/site_ansto/instrument/util/gen_sct.py index 4dfbb604..a42d3fe8 100755 --- a/site_ansto/instrument/util/gen_sct.py +++ b/site_ansto/instrument/util/gen_sct.py @@ -809,12 +809,19 @@ def dump_driver_vars(vars, indent): global DriveableFunctionTypes for item in sorted(vars): print indent + ' VAR %s = {' % item - for subitem in sorted([i for i in vars[item] if i not in FunctionTypes + DriveableFunctionTypes]): - print indent + ' %s =' % subitem, vars[item][subitem] + Comments = ['name', 'path'] + Deferred = ['Property'] + Comments + FunctionTypes + DriveableFunctionTypes + for Comment in sorted(Comments): + if Comment in vars[item]: + print indent + ' # %s = \'%s\'' % (Comment, vars[item][Comment]) + for subitem in sorted([i for i in vars[item] if i not in Deferred]): + print indent + ' %s = \'%s\'' % (subitem, vars[item][subitem]) for subitem in sorted([i for i in vars[item] if i in FunctionTypes]): - print indent + ' %s =' % subitem, vars[item][subitem] + print indent + ' %s = \'%s\'' % (subitem, vars[item][subitem]) for subitem in sorted([i for i in vars[item] if i in DriveableFunctionTypes]): - print indent + ' %s =' % subitem, vars[item][subitem] + print indent + ' %s = \'%s\'' % (subitem, vars[item][subitem]) + for subitem in sorted([i for i in vars[item]['Property']]): + print indent + ' Property \'%s\' = \'%s\'' % (subitem, vars[item]['Property'][subitem]) print indent + ' }' def dump_driver_groups(groups, indent): @@ -823,7 +830,12 @@ def dump_driver_groups(groups, indent): print indent + 'GROUP ' + item + ' = {' else: print indent + 'GROUP = {' - for subitem in sorted([x for x in groups[item] if not x in ['Groups', 'Vars', 'GroupProperty']]): + Comments = ['name', 'path'] + Deferred = ['Groups', 'Vars', 'GroupProperty'] + Comments + for Comment in sorted(Comments): + if Comment in groups[item]: + print indent + ' # %s = \'%s\'' % (Comment, groups[item][Comment]) + for subitem in sorted([x for x in groups[item] if not x in Deferred]): print indent + ' ', subitem, '=', groups[item][subitem] if 'GroupProperty' in groups[item]: for subitem in groups[item]['GroupProperty']: @@ -844,8 +856,13 @@ def dump_driver_funcs(funcs): def dump_driver(MyDriver): print 'DRIVER ' + MyDriver['name'] + ' = {' - for item in sorted([x for x in MyDriver if x not in ['Groups', 'Funcs']]): - print ' ' + item + ' =', MyDriver[item] + Comments = ['PathName', 'Permlink'] + Deferred = ['Groups', 'Funcs', 'Deferred', 'name'] + Comments + for Comment in sorted(Comments): + if Comment in MyDriver: + print '# %s = \'%s\'' % (Comment, MyDriver[Comment]) + for item in sorted([x for x in MyDriver if x not in Deferred]): + print ' ' + item + ' =', '\'%s\'' % MyDriver[item] #print 'Groups:', MyDriver['Groups'] dump_driver_groups(MyDriver['Groups'], ' ') #print 'Funcs:', MyDriver['Funcs']