(Python) Re-order dictionary for Buildbot CI Framework - Applied here: https://github.com/carlessanagustin/buildbot-bootstrap/blob/master/config/schedulers.py
build_names = []
build_names.append(dict(name='build_id', branch='master', slaves=['bbslave'],
scheduler=['single', 'force', 'periodic', 'nightly']))
build_names.append(dict(name='branch_id', branch='branch_id', slaves=['bbslave'],
scheduler=['single', 'periodic']))
build_names.append(dict(name='branch_idm', branch='master', slaves=['bbslave'],
scheduler=['single', 'force','periodic']))
print ''
print 'original: ', build_names
print ''
temp = []
for build_name in build_names:
temp.extend(build_name['scheduler'])
sched_names = list(set(temp))
branches = list(set([item['branch'] for item in build_names]))
scheduler_names = []
for sched_name in sched_names:
for branch in branches:
build_names_branch = [item['name'] for item in build_names if (item['branch'] == branch) and (item['scheduler'].count(sched_name) == 1)]
if not len(build_names_branch) == 0:
scheduler_names.append(dict(scheduler=sched_name, name=build_names_branch, branch=branch))
print 'result: ', scheduler_names
print ''