Пример #1
0
def get_all_jobs(sa):
    providers = sa.get_selected_providers()
    root = Explorer(providers).get_object_tree()

    def get_jobs(obj):
        jobs = []
        if obj.group == 'job' or (
                obj.group == 'template' and obj.attrs['template_unit'] == 'job'):
            attrs = dict(obj._impl._raw_data.copy())
            attrs['full_id'] = obj.name
            jobs.append(attrs)
        for child in obj.children:
            jobs += get_jobs(child)
        return jobs
    return sorted(get_jobs(root), key=operator.itemgetter('full_id'))
Пример #2
0
def print_objs(group, sa, show_attrs=False, filter_fun=None):
    providers = sa.get_selected_providers()
    obj = Explorer(providers).get_object_tree()

    def _show(obj, indent):
        if group is None or obj.group == group:
            # object must satisfy filter_fun (if supplied) to be printed
            if filter_fun and not filter_fun(obj):
                return
            # Display the object name and group
            print("{}{} {!r}".format(indent, obj.group, obj.name))
            indent += "  "
            if show_attrs:
                for key, value in obj.attrs.items():
                    print("{}{:15}: {!r}".format(indent, key, value))
        if obj.children:
            if group is None:
                print("{}{}".format(indent, _("children")))
                indent += "  "
            for child in obj.children:
                _show(child, indent)

    _show(obj, "")
Пример #3
0
 def __init__(self, provider_loader, ns):
     self.explorer = Explorer(provider_loader())
     self.group = ns.group
     self.show_attrs = ns.attrs