From b910f5bea33cbccca25b008b3b03dc5dce27245a Mon Sep 17 00:00:00 2001 From: Eric Harney Date: Sat, 20 May 2017 15:10:47 -0400 Subject: [PATCH] Unicode value support for "--filters" These need to support Unicode values, like our API does. Otherwise the shell client does not work for non-ascii names, etc. Closes-Bug: #1695927 Change-Id: Ib661bb6f8df62084bdf80e7666de5708d13674b7 --- cinderclient/tests/unit/v3/test_shell.py | 5 +++++ cinderclient/v3/shell.py | 14 +++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py index 0b9431b..a6e9c1e 100644 --- a/cinderclient/tests/unit/v3/test_shell.py +++ b/cinderclient/tests/unit/v3/test_shell.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # Copyright (c) 2013 OpenStack Foundation # All Rights Reserved. # @@ -99,6 +100,10 @@ class ShellTest(utils.TestCase): 'list --filters name~=456', 'expected': '/volumes/detail?name%7E=456'}, + {'command': + u'list --filters name~=Σ', + 'expected': + '/volumes/detail?name%7E=%CE%A3'}, # testcases for list group {'command': 'group-list --filters name=456', diff --git a/cinderclient/v3/shell.py b/cinderclient/v3/shell.py index 6a1e3b9..f8c0570 100644 --- a/cinderclient/v3/shell.py +++ b/cinderclient/v3/shell.py @@ -98,7 +98,7 @@ def do_list_filters(cs, args): 'Valid keys: %s. ' 'Default=None.') % ', '.join(base.SORT_KEY_VALUES))) @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='', @@ -273,7 +273,7 @@ RESET_STATE_RESOURCES = {'volume': utils.find_volume, metavar='', help='Display information from single tenant (Admin only).') @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='', @@ -976,7 +976,7 @@ def do_manageable_list(cs, args): default=utils.env('ALL_TENANTS', default=0), help='Shows details for all tenants. Admin only.') @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='', @@ -1192,7 +1192,7 @@ def do_group_update(cs, args): help="Filters results by a group ID. Default=None. " "%s" % FILTER_DEPRECATED) @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='', @@ -1418,7 +1418,7 @@ def do_api_version(cs, args): help="Filters results by the message level. Default=None. " "%s" % FILTER_DEPRECATED) @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='', @@ -1556,7 +1556,7 @@ def do_message_delete(cs, args): "volume api version >=3.22. Default=None. " "%s" % FILTER_DEPRECATED) @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='', @@ -1647,7 +1647,7 @@ def do_snapshot_list(cs, args): metavar='', help='Display information from single tenant (Admin only).') @utils.arg('--filters', - type=str, + type=six.text_type, nargs='*', start_version='3.33', metavar='',