From afed3fc454b4fec8e87d2531c90115420eb8c788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20HUBSCHER?= Date: Tue, 8 Mar 2016 12:06:14 +0100 Subject: [PATCH] Enable settings the parser without bucket nor collection parameters. For xml2kinto and kinto2xml we need to define multiple bucket/collection couples. r=@magopian --- kinto_client/cli_utils.py | 16 ++++++++++------ kinto_client/tests/test_cli_utils.py | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/kinto_client/cli_utils.py b/kinto_client/cli_utils.py index c40037d..412a22b 100644 --- a/kinto_client/cli_utils.py +++ b/kinto_client/cli_utils.py @@ -37,6 +37,8 @@ def set_parser_server_options(parser=None, default_auth=None, default_bucket=None, default_collection=None, + bucket=True, + collection=True, **kwargs): if parser is None: @@ -50,13 +52,15 @@ def set_parser_server_options(parser=None, help='BasicAuth token:my-secret', type=str, default=default_auth, action=AuthAction) - parser.add_argument('-b', '--bucket', - help='Bucket name.', - type=str, default=default_bucket) + if bucket: + parser.add_argument('-b', '--bucket', + help='Bucket name.', + type=str, default=default_bucket) - parser.add_argument('-c', '--collection', - help='Collection name.', - type=str, default=default_collection) + if collection: + parser.add_argument('-c', '--collection', + help='Collection name.', + type=str, default=default_collection) # Defaults parser.add_argument('-v', '--verbose', action='store_const', diff --git a/kinto_client/tests/test_cli_utils.py b/kinto_client/tests/test_cli_utils.py index f59d695..6180232 100644 --- a/kinto_client/tests/test_cli_utils.py +++ b/kinto_client/tests/test_cli_utils.py @@ -38,6 +38,20 @@ def test_set_parser_server_options_adds_arguments_on_existing_parser(self): *ALL_PARAMETERS) assert len(parser._actions) == 9 + def test_set_parser_server_options_can_ignore_bucket_and_collection(self): + parser = cli_utils.set_parser_server_options( + bucket=None, collection=None) + parameters = [ + ['-h', '--help'], + ['-s', '--server'], + ['-a', '--auth'], + ['-v', '--verbose'], + ['-q', '--quiet'], + ['-D', '--debug'], + ] + self.assert_option_strings(parser, *parameters) + assert len(parser._actions) == 6 + def test_can_change_default_values(self): parser = cli_utils.set_parser_server_options( default_server="https://firefox.settings.services.mozilla.com/",