Prettyfy the dump routines

This commit is contained in:
Douglas Clowes
2014-08-05 17:45:30 +10:00
parent 973f844186
commit c86ff4c883

View File

@ -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']