diff --git a/pdc_client/plugin_helpers.py b/pdc_client/plugin_helpers.py index 6225030..ffae5f2 100644 --- a/pdc_client/plugin_helpers.py +++ b/pdc_client/plugin_helpers.py @@ -162,4 +162,9 @@ def extract_arguments(args, prefix=DATA_PREFIX): # At this point `d` points to the correct dict and value can be # inserted. d[parts[-1]] = value if value != '' else None + try: + if args.page_size: + data['page_size'] = args.page_size + except AttributeError: + pass return data diff --git a/pdc_client/runner.py b/pdc_client/runner.py index 21920c9..32cddbc 100644 --- a/pdc_client/runner.py +++ b/pdc_client/runner.py @@ -83,7 +83,8 @@ def setup(self): self.parser.add_argument('--debug', action='store_true', help=argparse.SUPPRESS) self.parser.add_argument('--json', action='store_true', help='display output as JSON') - + self.parser.add_argument('--page-size', dest='page_size', + help='change page size in response') subparsers = self.parser.add_subparsers(metavar='COMMAND') for plugin in self.plugins: diff --git a/tests/tests.py b/tests/tests.py index 6e3c815..8fd34a3 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -18,9 +18,10 @@ class Temp(object): args = Temp() setattr(args, 'prf__foo__bar__baz', 1) setattr(args, 'prf__foo__bar__quux', 2) + setattr(args, 'page_size', 5) data = plugin_helpers.extract_arguments(args, prefix='prf__') self.assertEqual(data, - {'foo': {'bar': {'baz': 1, 'quux': 2}}}) + {'foo': {'bar': {'baz': 1, 'quux': 2}}, 'page_size': 5}) class PrettyPrinterTestCase(unittest.TestCase):