Alon Bar-Lev has uploaded a new change for review. Change subject: core: context: cleanup buildSequence ......................................................................
core: context: cleanup buildSequence Change-Id: I31f95bc1331bc066e25b777a73b10c0ef84734b2 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- M src/otopi/context.py 1 file changed, 19 insertions(+), 16 deletions(-) git pull ssh://gerrit.ovirt.org:29418/otopi refs/changes/77/11777/1 diff --git a/src/otopi/context.py b/src/otopi/context.py index f8b2780..2f7418a 100644 --- a/src/otopi/context.py +++ b/src/otopi/context.py @@ -24,6 +24,7 @@ import sys import os import traceback +import operator import gettext _ = lambda m: gettext.dgettext(message=m, domain='otopi') @@ -254,27 +255,29 @@ Should be called after plugins are loaded. """ - tmpseq = {} + # + # bind functions to plugin + # + tmplist = [] for p in self._plugins: for metadata in util.methodsByAttribute( p.__class__, 'decoration_event' ): - # create key while we set - # tmpseq[stage][priority].append(methodinfo) - tmpseq.setdefault( - metadata['stage'], {} - ).setdefault( - metadata['priority'], [] - ).append( - { - 'method': metadata['method'].__get__(p), - 'condition': metadata['condition'].__get__(p), - } - ) + metadata = metadata.copy() + metadata['method'] = metadata['method'].__get__(p) + metadata['condition'] = metadata['condition'].__get__(p) + tmplist.append(metadata) - for stage, data in tmpseq.items(): - for key in sorted(data.keys()): - self._sequence.setdefault(stage, []).extend(data[key]) + # + # sort based on priority + # + tmplist.sort(key=operator.itemgetter('priority')) + + sequence = {} + for m in tmplist: + sequence.setdefault(m['stage'], []).append(m) + + self._sequence = sequence def runSequence(self): """Run sequence.""" -- To view, visit http://gerrit.ovirt.org/11777 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I31f95bc1331bc066e25b777a73b10c0ef84734b2 Gerrit-PatchSet: 1 Gerrit-Project: otopi Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches