From 4d020c4902e9770e077d5f4202c610e7396a6372 Mon Sep 17 00:00:00 2001 From: MD NADEEM Date: Thu, 17 Dec 2015 10:35:45 +0530 Subject: [PATCH] Query claim CLI support for v1 Change-Id: I3e471dfd6c76ca9966b96a858559c8b721c310d3 --- setup.cfg | 1 + zaqarclient/queues/v1/cli.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/setup.cfg b/setup.cfg index 4f81ce24..c6f88811 100644 --- a/setup.cfg +++ b/setup.cfg @@ -65,6 +65,7 @@ openstack.messaging.v1 = messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor messaging_flavor_create = zaqarclient.queues.v1.cli:CreateFlavor claim_create = zaqarclient.queues.v1.cli:CreateClaim + claim_query = zaqarclient.queues.v1.cli:QueryClaim openstack.messaging.v2 = queue_list = zaqarclient.queues.v2.cli:ListQueues diff --git a/zaqarclient/queues/v1/cli.py b/zaqarclient/queues/v1/cli.py index 9e1e9e9b..00edfd21 100644 --- a/zaqarclient/queues/v1/cli.py +++ b/zaqarclient/queues/v1/cli.py @@ -612,3 +612,33 @@ class CreateClaim(lister.Lister): data = queue.claim(**kwargs) return (columns, (utils.get_item_properties(s, keys) for s in data)) + + +class QueryClaim(lister.Lister): + """Display claim details""" + + log = logging.getLogger(__name__ + ".QueryClaim") + + def get_parser(self, prog_name): + parser = super(QueryClaim, self).get_parser(prog_name) + parser.add_argument( + "queue_name", + metavar="", + help="Name of the claimed queue") + parser.add_argument( + "claim_id", + metavar="", + help="ID of the claim") + + return parser + + def take_action(self, parsed_args): + client = _get_client(self, parsed_args) + + queue = client.queue(parsed_args.queue_name, auto_create=False) + keys = ("_id", "age", "ttl", "body") + columns = ("Message_ID", "Age", "TTL", "Message") + data = queue.claim(id=parsed_args.claim_id)._get() + + return (columns, + (utils.get_item_properties(s, keys) for s in data))