From 96b35f38008c73c70fb598d29515a4cce5e48edc Mon Sep 17 00:00:00 2001 From: WuKong Date: Wed, 1 Jul 2015 09:01:11 +0200 Subject: migrate moonclient from github to opnfv Change-Id: I024ad1136f50d1c2898d30e05be48131d02b6932 Signed-off-by: WuKong --- moonclient/moonclient/logs.py | 67 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 moonclient/moonclient/logs.py (limited to 'moonclient/moonclient/logs.py') diff --git a/moonclient/moonclient/logs.py b/moonclient/moonclient/logs.py new file mode 100644 index 00000000..03c16128 --- /dev/null +++ b/moonclient/moonclient/logs.py @@ -0,0 +1,67 @@ +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors +# This software is distributed under the terms and conditions of the 'Apache-2.0' +# license which can be found in the file 'LICENSE' in this package distribution +# or at 'http://www.apache.org/licenses/LICENSE-2.0'. + +import logging + +from cliff.lister import Lister +from cliff.command import Command +from cliff.show import ShowOne + + +class LogsList(Lister): + """List all aggregation algorithms.""" + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(LogsList, self).get_parser(prog_name) + parser.add_argument( + '--filter', + metavar='', + help='Filter strings (example: "OK" or "authz")', + ) + parser.add_argument( + '--fromdate', + metavar='', + help='Filter logs by date (example: "2015-04-15-13:45:20")', + ) + parser.add_argument( + '--todate', + metavar='', + help='Filter logs by date (example: "2015-04-15-13:45:20")', + ) + parser.add_argument( + '--number', + metavar='', + help='Show only logs', + ) + return parser + + def take_action(self, parsed_args): + filter_str = parsed_args.filter + from_date = parsed_args.fromdate + to_date = parsed_args.todate + number = parsed_args.number + options = list() + if filter_str: + options.append("filter={}".format(filter_str)) + if from_date: + options.append("from={}".format(from_date)) + if to_date: + options.append("to={}".format(to_date)) + if number: + options.append("event_number={}".format(number)) + if len(options) > 0: + url = "/v3/OS-MOON/logs/{}".format(",".join(options)) + else: + url = "/v3/OS-MOON/logs" + data = self.app.get_url(url, authtoken=True) + if "logs" not in data: + raise Exception("Error in command {}: {}".format("LogsList", data)) + return ( + ("Logs",), + ((log, ) for log in data["logs"]) + ) + -- cgit 1.2.3-korg