cli2 4.3.2__tar.gz → 4.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. {cli2-4.3.2/cli2.egg-info → cli2-4.3.4}/PKG-INFO +1 -1
  2. {cli2-4.3.2 → cli2-4.3.4}/cli2/client.py +10 -6
  3. {cli2-4.3.2 → cli2-4.3.4/cli2.egg-info}/PKG-INFO +1 -1
  4. {cli2-4.3.2 → cli2-4.3.4}/setup.py +1 -1
  5. {cli2-4.3.2 → cli2-4.3.4}/tests/test_client.py +9 -2
  6. {cli2-4.3.2 → cli2-4.3.4}/MANIFEST.in +0 -0
  7. {cli2-4.3.2 → cli2-4.3.4}/README.rst +0 -0
  8. {cli2-4.3.2 → cli2-4.3.4}/classifiers.txt +0 -0
  9. {cli2-4.3.2 → cli2-4.3.4}/cli2/__init__.py +0 -0
  10. {cli2-4.3.2 → cli2-4.3.4}/cli2/ansible/__init__.py +0 -0
  11. {cli2-4.3.2 → cli2-4.3.4}/cli2/ansible/action.py +0 -0
  12. {cli2-4.3.2 → cli2-4.3.4}/cli2/ansible/playbook.py +0 -0
  13. {cli2-4.3.2 → cli2-4.3.4}/cli2/ansible/variables.py +0 -0
  14. {cli2-4.3.2 → cli2-4.3.4}/cli2/asyncio.py +0 -0
  15. {cli2-4.3.2 → cli2-4.3.4}/cli2/cli.py +0 -0
  16. {cli2-4.3.2 → cli2-4.3.4}/cli2/cli2.py +0 -0
  17. {cli2-4.3.2 → cli2-4.3.4}/cli2/colors.py +0 -0
  18. {cli2-4.3.2 → cli2-4.3.4}/cli2/configuration.py +0 -0
  19. {cli2-4.3.2 → cli2-4.3.4}/cli2/decorators.py +0 -0
  20. {cli2-4.3.2 → cli2-4.3.4}/cli2/display.py +0 -0
  21. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/__init__.py +0 -0
  22. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/client.py +0 -0
  23. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/conf.py +0 -0
  24. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/example.py +0 -0
  25. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/example_obj.py +0 -0
  26. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/nesting.py +0 -0
  27. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/obj.py +0 -0
  28. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/obj2.py +0 -0
  29. {cli2-4.3.2 → cli2-4.3.4}/cli2/examples/test.py +0 -0
  30. {cli2-4.3.2 → cli2-4.3.4}/cli2/lock.py +0 -0
  31. {cli2-4.3.2 → cli2-4.3.4}/cli2/log.py +0 -0
  32. {cli2-4.3.2 → cli2-4.3.4}/cli2/mask.py +0 -0
  33. {cli2-4.3.2 → cli2-4.3.4}/cli2/node.py +0 -0
  34. {cli2-4.3.2 → cli2-4.3.4}/cli2/sphinx.py +0 -0
  35. {cli2-4.3.2 → cli2-4.3.4}/cli2/table.py +0 -0
  36. {cli2-4.3.2 → cli2-4.3.4}/cli2/test.py +0 -0
  37. {cli2-4.3.2 → cli2-4.3.4}/cli2.egg-info/SOURCES.txt +0 -0
  38. {cli2-4.3.2 → cli2-4.3.4}/cli2.egg-info/dependency_links.txt +0 -0
  39. {cli2-4.3.2 → cli2-4.3.4}/cli2.egg-info/entry_points.txt +0 -0
  40. {cli2-4.3.2 → cli2-4.3.4}/cli2.egg-info/requires.txt +0 -0
  41. {cli2-4.3.2 → cli2-4.3.4}/cli2.egg-info/top_level.txt +0 -0
  42. {cli2-4.3.2 → cli2-4.3.4}/setup.cfg +0 -0
  43. {cli2-4.3.2 → cli2-4.3.4}/tests/test_ansible.py +0 -0
  44. {cli2-4.3.2 → cli2-4.3.4}/tests/test_ansible_variables.py +0 -0
  45. {cli2-4.3.2 → cli2-4.3.4}/tests/test_asyncio.py +0 -0
  46. {cli2-4.3.2 → cli2-4.3.4}/tests/test_cli.py +0 -0
  47. {cli2-4.3.2 → cli2-4.3.4}/tests/test_command.py +0 -0
  48. {cli2-4.3.2 → cli2-4.3.4}/tests/test_configuration.py +0 -0
  49. {cli2-4.3.2 → cli2-4.3.4}/tests/test_decorators.py +0 -0
  50. {cli2-4.3.2 → cli2-4.3.4}/tests/test_display.py +0 -0
  51. {cli2-4.3.2 → cli2-4.3.4}/tests/test_entry_point.py +0 -0
  52. {cli2-4.3.2 → cli2-4.3.4}/tests/test_group.py +0 -0
  53. {cli2-4.3.2 → cli2-4.3.4}/tests/test_inject.py +0 -0
  54. {cli2-4.3.2 → cli2-4.3.4}/tests/test_lock.py +0 -0
  55. {cli2-4.3.2 → cli2-4.3.4}/tests/test_mask.py +0 -0
  56. {cli2-4.3.2 → cli2-4.3.4}/tests/test_node.py +0 -0
  57. {cli2-4.3.2 → cli2-4.3.4}/tests/test_restful.py +0 -0
  58. {cli2-4.3.2 → cli2-4.3.4}/tests/test_table.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.3.2
3
+ Version: 4.3.4
4
4
  Summary: image:: https://yourlabs.io/oss/cli2/badges/master/pipeline.svg
5
5
  Home-page: https://yourlabs.io/oss/cli2
6
6
  Author: James Pic
@@ -155,6 +155,8 @@ class Paginator:
155
155
  return
156
156
 
157
157
  self.pagination_initialize(data)
158
+ if not self.per_page:
159
+ self.per_page = len(self.data_items(data))
158
160
  self.initialized = True
159
161
 
160
162
  def pagination_initialize(self, data):
@@ -248,10 +250,10 @@ class Paginator:
248
250
  :param page_number: Page number to get the items from
249
251
  """
250
252
  params = self.params.copy()
251
- try:
252
- self.pagination_parameters(params, page_number)
253
- except NotImplementedError:
254
- if page_number > 1:
253
+ if page_number > 1:
254
+ try:
255
+ self.pagination_parameters(params, page_number)
256
+ except NotImplementedError:
255
257
  raise
256
258
  for expression in self.expressions:
257
259
  if expression.parameterable:
@@ -1285,13 +1287,15 @@ class ClientCommand(Command):
1285
1287
  :py:meth:`Client.setargs`.
1286
1288
  """
1287
1289
  super().setargs()
1288
- self['self'].factory = self.client_class.factory
1290
+ if 'self' in self:
1291
+ self['self'].factory = self.client_class.factory
1289
1292
  self.client_class.setargs(self)
1290
1293
 
1291
1294
  async def factories_resolve(self):
1292
1295
  """ Set :py:attr:`client` after resolving factories. """
1293
1296
  await super().factories_resolve()
1294
- self.client = self['self'].value
1297
+ if 'self' in self:
1298
+ self.client = self['self'].value
1295
1299
 
1296
1300
  async def post_call(self):
1297
1301
  """ Call :py:meth:`Client.post_call`. """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.3.2
3
+ Version: 4.3.4
4
4
  Summary: image:: https://yourlabs.io/oss/cli2/badges/master/pipeline.svg
5
5
  Home-page: https://yourlabs.io/oss/cli2
6
6
  Author: James Pic
@@ -44,7 +44,7 @@ from setuptools import setup
44
44
 
45
45
  setup(
46
46
  name='cli2',
47
- version='4.3.2',
47
+ version='4.3.4',
48
48
  setup_requires='setupmeta',
49
49
  packages=['cli2'],
50
50
  install_requires=[
@@ -76,6 +76,14 @@ async def test_client_cli(client_class, httpx_mock):
76
76
  assert list(client_class.cli['testmodel3'].keys()) == ['help', 'find']
77
77
 
78
78
 
79
+ def test_client_cli_func(client_class):
80
+ # test adding a normal function
81
+ @client_class.cli.cmd
82
+ def foo(test):
83
+ pass
84
+ client_class.cli['foo']('bar')
85
+
86
+
79
87
  @pytest.mark.asyncio
80
88
  async def test_client_cli_override(client_class, httpx_mock):
81
89
  class Client(client_class):
@@ -514,12 +522,11 @@ async def test_pagination_patterns(httpx_mock, client_class):
514
522
  self.total_items = data['total']
515
523
 
516
524
  def pagination_parameters(self, params, page_number):
517
- self.per_page = 1
518
525
  params['offset'] = (page_number - 1) * self.per_page
519
526
  params['limit'] = self.per_page
520
527
 
521
528
  httpx_mock.add_response(
522
- url='http://lol/off?offset=0&limit=1',
529
+ url='http://lol/off',
523
530
  json=dict(total=2, items=[dict(a=1)]),
524
531
  )
525
532
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes