# Path: vitrageclient/common/utils.py
# def args_to_dict(args, attrs):
# def list2cols(cols, objs):
# def list2cols_with_rename(names_and_keys, objs):
# def get_client(obj):
# def wait_for_action_to_end(timeout, func, **kwargs):
# def find_template_with_uuid(uuid, templates):


from cliff import lister
from cliff import show
from vitrageclient.common import utils
    def take_action(self, parsed_args):
        id = parsed_args.id
        webhook = utils.get_client(self).webhook.show(id=id)
        return self.dict2columns(webhook)


class WebhookList(lister.Lister):
    """List all webhooks in the database"""

    POST_PROPS = \
        (
            ('ID', 'id'),
            ('Created At', 'created_at'),
            ('Project ID', 'project_id'),
            ('URL', 'url'),
            ('Headers', 'headers'),
            ('Filter', 'regex_filter')
        )

    def get_parser(self, prog_name):
        parser = super(WebhookList, self).get_parser(prog_name)
        parser.add_argument('--all-tenants',
                            default=False,
                            dest='all_tenants',
                            action='store_true',
                            help='Shows webhooks of all the tenants')
        return parser

    def take_action(self, parsed_args):
        all_tenants = parsed_args.all_tenants

# Path: vitrageclient/common/utils.py
# def args_to_dict(args, attrs):
# def list2cols(cols, objs):
# def list2cols_with_rename(names_and_keys, objs):
# def get_client(obj):
# def wait_for_action_to_end(timeout, func, **kwargs):
# def find_template_with_uuid(uuid, templates):


# Path: vitrageclient/v1/cli/webhook.py
from cliff import lister
from cliff import show
from vitrageclient.common import utils

    def take_action(self, parsed_args):
        id = parsed_args.id
        webhook = utils.get_client(self).webhook.show(id=id)
        return self.dict2columns(webhook)


class WebhookList(lister.Lister):
    """List all webhooks in the database"""

    POST_PROPS = \
        (
            ('ID', 'id'),
            ('Created At', 'created_at'),
            ('Project ID', 'project_id'),
            ('URL', 'url'),
            ('Headers', 'headers'),
            ('Filter', 'regex_filter')
        )

    def get_parser(self, prog_name):
        parser = super(WebhookList, self).get_parser(prog_name)
        parser.add_argument('--all-tenants',
                            default=False,
                            dest='all_tenants',
                            action='store_true',
                            help='Shows webhooks of all the tenants')
        return parser

    def take_action(self, parsed_args):
        all_tenants = parsed_args.all_tenants

        webhooks = utils.get_client(self).webhook.list(all_tenants=all_tenants)