#!/usr/bin/env python

from mixcoatl.admin.role import Role
from prettytable import PrettyTable
import argparse
import pprint

if __name__ == '__main__':
    """ Returns a list of all roles. """
    parser = argparse.ArgumentParser()
    parser.add_argument('--verbose', '-v', help='Produce verbose output', action="store_true")

    cmd_args = parser.parse_args()

    all_roles = Role.all()

    if cmd_args.verbose:
        for role in all_roles:
            role.pprint()
    else:
        role_table = PrettyTable(["Role ID", "Role Name", "Description", "Status"])
        role_table.align['Description'] = 'l'
        for role in all_roles:
            role_table.add_row([role.role_id, role.name, role.description, role.status])

        print(role_table)
