cli2 4.0.5__tar.gz → 4.0.6__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 (56) hide show
  1. {cli2-4.0.5/cli2.egg-info → cli2-4.0.6}/PKG-INFO +1 -1
  2. {cli2-4.0.5 → cli2-4.0.6}/cli2/cli.py +2 -0
  3. {cli2-4.0.5 → cli2-4.0.6/cli2.egg-info}/PKG-INFO +1 -1
  4. {cli2-4.0.5 → cli2-4.0.6}/setup.py +1 -1
  5. {cli2-4.0.5 → cli2-4.0.6}/tests/test_group.py +14 -2
  6. {cli2-4.0.5 → cli2-4.0.6}/MANIFEST.in +0 -0
  7. {cli2-4.0.5 → cli2-4.0.6}/README.rst +0 -0
  8. {cli2-4.0.5 → cli2-4.0.6}/classifiers.txt +0 -0
  9. {cli2-4.0.5 → cli2-4.0.6}/cli2/__init__.py +0 -0
  10. {cli2-4.0.5 → cli2-4.0.6}/cli2/ansible/__init__.py +0 -0
  11. {cli2-4.0.5 → cli2-4.0.6}/cli2/ansible/action.py +0 -0
  12. {cli2-4.0.5 → cli2-4.0.6}/cli2/ansible/playbook.py +0 -0
  13. {cli2-4.0.5 → cli2-4.0.6}/cli2/ansible/pytest.py +0 -0
  14. {cli2-4.0.5 → cli2-4.0.6}/cli2/ansible/variables.py +0 -0
  15. {cli2-4.0.5 → cli2-4.0.6}/cli2/asyncio.py +0 -0
  16. {cli2-4.0.5 → cli2-4.0.6}/cli2/cli2.py +0 -0
  17. {cli2-4.0.5 → cli2-4.0.6}/cli2/client.py +0 -0
  18. {cli2-4.0.5 → cli2-4.0.6}/cli2/colors.py +0 -0
  19. {cli2-4.0.5 → cli2-4.0.6}/cli2/configuration.py +0 -0
  20. {cli2-4.0.5 → cli2-4.0.6}/cli2/decorators.py +0 -0
  21. {cli2-4.0.5 → cli2-4.0.6}/cli2/display.py +0 -0
  22. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/__init__.py +0 -0
  23. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/client.py +0 -0
  24. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/conf.py +0 -0
  25. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/example.py +0 -0
  26. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/example_obj.py +0 -0
  27. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/nesting.py +0 -0
  28. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/obj.py +0 -0
  29. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/obj2.py +0 -0
  30. {cli2-4.0.5 → cli2-4.0.6}/cli2/examples/test.py +0 -0
  31. {cli2-4.0.5 → cli2-4.0.6}/cli2/lock.py +0 -0
  32. {cli2-4.0.5 → cli2-4.0.6}/cli2/log.py +0 -0
  33. {cli2-4.0.5 → cli2-4.0.6}/cli2/node.py +0 -0
  34. {cli2-4.0.5 → cli2-4.0.6}/cli2/sphinx.py +0 -0
  35. {cli2-4.0.5 → cli2-4.0.6}/cli2/table.py +0 -0
  36. {cli2-4.0.5 → cli2-4.0.6}/cli2/test.py +0 -0
  37. {cli2-4.0.5 → cli2-4.0.6}/cli2.egg-info/SOURCES.txt +0 -0
  38. {cli2-4.0.5 → cli2-4.0.6}/cli2.egg-info/dependency_links.txt +0 -0
  39. {cli2-4.0.5 → cli2-4.0.6}/cli2.egg-info/entry_points.txt +0 -0
  40. {cli2-4.0.5 → cli2-4.0.6}/cli2.egg-info/requires.txt +0 -0
  41. {cli2-4.0.5 → cli2-4.0.6}/cli2.egg-info/top_level.txt +0 -0
  42. {cli2-4.0.5 → cli2-4.0.6}/setup.cfg +0 -0
  43. {cli2-4.0.5 → cli2-4.0.6}/tests/test_ansible.py +0 -0
  44. {cli2-4.0.5 → cli2-4.0.6}/tests/test_ansible_variables.py +0 -0
  45. {cli2-4.0.5 → cli2-4.0.6}/tests/test_cli.py +0 -0
  46. {cli2-4.0.5 → cli2-4.0.6}/tests/test_client.py +0 -0
  47. {cli2-4.0.5 → cli2-4.0.6}/tests/test_command.py +0 -0
  48. {cli2-4.0.5 → cli2-4.0.6}/tests/test_configuration.py +0 -0
  49. {cli2-4.0.5 → cli2-4.0.6}/tests/test_decorators.py +0 -0
  50. {cli2-4.0.5 → cli2-4.0.6}/tests/test_display.py +0 -0
  51. {cli2-4.0.5 → cli2-4.0.6}/tests/test_entry_point.py +0 -0
  52. {cli2-4.0.5 → cli2-4.0.6}/tests/test_inject.py +0 -0
  53. {cli2-4.0.5 → cli2-4.0.6}/tests/test_lock.py +0 -0
  54. {cli2-4.0.5 → cli2-4.0.6}/tests/test_node.py +0 -0
  55. {cli2-4.0.5 → cli2-4.0.6}/tests/test_restful.py +0 -0
  56. {cli2-4.0.5 → cli2-4.0.6}/tests/test_table.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.0.5
3
+ Version: 4.0.6
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
@@ -308,6 +308,8 @@ class Group(EntryPoint, dict):
308
308
  for name in dir(obj):
309
309
  if name.startswith('_'):
310
310
  continue
311
+ if not callable(getattr(type(obj), name)):
312
+ continue
311
313
  self.load_method(obj, getattr(obj, name))
312
314
 
313
315
  def load_method(self, obj, method):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.0.5
3
+ Version: 4.0.6
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
@@ -3,7 +3,7 @@ from setuptools import setup
3
3
 
4
4
  setup(
5
5
  name='cli2',
6
- version='4.0.5',
6
+ version='4.0.6',
7
7
  setup_requires='setupmeta',
8
8
  install_requires=[
9
9
  'docstring_parser',
@@ -1,4 +1,5 @@
1
1
  import cli2
2
+ import functools
2
3
  import cli2.test
3
4
 
4
5
 
@@ -188,9 +189,12 @@ def test_overrides():
188
189
 
189
190
 
190
191
  def test_load():
191
- import cli2
192
+ class BarMetaclass(type):
193
+ @property
194
+ def fails3(self):
195
+ raise Exception('fails')
192
196
 
193
- class Bar:
197
+ class Bar(metaclass=BarMetaclass):
194
198
  @cli2.cmd
195
199
  def test(self):
196
200
  pass
@@ -212,6 +216,14 @@ def test_load():
212
216
  def exclude(self):
213
217
  pass
214
218
 
219
+ @property
220
+ def fails(self):
221
+ raise Exception('Loading should not eval properties')
222
+
223
+ @functools.cached_property
224
+ def fails2(self):
225
+ raise Exception('Loading should not eval properties')
226
+
215
227
  group = cli2.Group()
216
228
  group.load(Foo)
217
229
  assert list(group.keys()) == ['help', 'test', 'classmeth', 'test2']
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