From 3a780a6159e53a25e722ec083ab45d915279958a Mon Sep 17 00:00:00 2001 From: Guangyu Suo Date: Fri, 19 Jul 2013 10:34:17 +0800 Subject: [PATCH] Enhance ceilometer statistics command with --period Currently, if don't specify query parameter in ceilometer statistics command, ceilometer statistics with --period will not work. This change is trying to fix this issue. Change-Id: I8723bad11d5c452c2834e33df9bb01ebdc6ce9ce Fixs: bug #1202658 --- ceilometerclient/tests/v2/test_options.py | 9 +++++++++ ceilometerclient/v2/options.py | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ceilometerclient/tests/v2/test_options.py b/ceilometerclient/tests/v2/test_options.py index 0cf7d0c3..27f9020c 100644 --- a/ceilometerclient/tests/v2/test_options.py +++ b/ceilometerclient/tests/v2/test_options.py @@ -40,6 +40,15 @@ class BuildUrlTest(utils.BaseTestCase): 'value': 43}]) self.assertEqual(url, '/?q.op=&q.value=43&q.field=this') + def test_one_param(self): + url = options.build_url('/', None, ['period=60']) + self.assertEqual(url, '/?period=60') + + def test_two_params(self): + url = options.build_url('/', None, ['period=60', + 'others=value']) + self.assertEqual(url, '/?period=60&others=value') + class CliTest(utils.BaseTestCase): diff --git a/ceilometerclient/v2/options.py b/ceilometerclient/v2/options.py index f3c73c1f..46cb13b4 100644 --- a/ceilometerclient/v2/options.py +++ b/ceilometerclient/v2/options.py @@ -39,7 +39,10 @@ def build_url(path, q, params=None): if params: for p in params: path += '&%s' % p - + elif params: + path += '?%s' % params[0] + for p in params[1:]: + path += '&%s' % p return path