def getGroups(self): util = getDescriptionUtility() groups = sorted(util.groups.values(), key=lambda g: g.__name__) for group in groups: actions = self.getActions(group) yield {'group': group, 'actions': list(actions)}
def getActions(self, group): descriptions = getDescriptionUtility() action_dict = descriptions.actions_by_group.get(group.__name__, {}) actions = sorted(action_dict.values(), key=lambda a: '%d %s' % (a.order, a.__name__)) for action in actions: snippets = self.getCrowdSnippets(action) yield { 'action': action, 'crowds': snippets, }
def collectActionsByDiscriminator(): util = getDescriptionUtility() collected = {} for group in util.actions_by_group.values(): for action in group.values(): discriminator = (action.permission, action.interface) if discriminator not in collected: collected[discriminator] = [] collected[discriminator].append(action) for actions in collected.values(): actions[:] = sorted(actions, key=lambda a: a.__name__ + a.__parent__.__name__) return collected
def printActionDescriptions(actions_by_discriminator): last_module = '' util = getDescriptionUtility() for disc in sorted(actions_by_discriminator, key=discriminator_sort_key): mod, ifc, perm = discriminator_sort_key(disc) if mod != last_module: last_module = mod print '=' * len(last_module) print last_module print '=' * len(last_module) perm_pair_desc = '%s, %s' % (ifc, perm) print '- %s\n- %s' % (perm_pair_desc, '-' * len(perm_pair_desc)) listed = [ str('%s / %s' % (util.groups[a.__parent__.__name__].title, a.title)) for a in actions_by_discriminator[disc]] for act in listed: print '- %s' % act print '-'