# 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 show
from vitrageclient.common import utils

# noinspection PyAbstractClass
class RcaShow(show.ShowOne):
    """Show the Root Cause Analysis for a certain alarm"""

    def get_parser(self, prog_name):
        parser = super(RcaShow, self).get_parser(prog_name)
        parser.add_argument('alarm_vitrage_id',
                            help='ID of an alarm')

        parser.add_argument('--all-tenants',
                            default=False,
                            dest='all_tenants',
                            action='store_true',
                            help='Shows alarms of all the tenants for the RCA')

        return parser

    @property
    def formatter_namespace(self):
        return 'vitrageclient.formatter.show'

    @property
    def formatter_default(self):
        return 'json'

    def take_action(self, parsed_args):
        alarm_id = parsed_args.alarm_vitrage_id
        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/rca.py
from cliff import show
from vitrageclient.common import utils


# noinspection PyAbstractClass
class RcaShow(show.ShowOne):
    """Show the Root Cause Analysis for a certain alarm"""

    def get_parser(self, prog_name):
        parser = super(RcaShow, self).get_parser(prog_name)
        parser.add_argument('alarm_vitrage_id',
                            help='ID of an alarm')

        parser.add_argument('--all-tenants',
                            default=False,
                            dest='all_tenants',
                            action='store_true',
                            help='Shows alarms of all the tenants for the RCA')

        return parser

    @property
    def formatter_namespace(self):
        return 'vitrageclient.formatter.show'

    @property
    def formatter_default(self):
        return 'json'

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


        alarm = utils.get_client(self).rca.get(alarm_id=alarm_id,