cli2 5.1.2__tar.gz → 5.1.5__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 (54) hide show
  1. {cli2-5.1.2/cli2.egg-info → cli2-5.1.5}/PKG-INFO +1 -1
  2. {cli2-5.1.2 → cli2-5.1.5}/cli2/cli.py +5 -0
  3. {cli2-5.1.2 → cli2-5.1.5/cli2.egg-info}/PKG-INFO +1 -1
  4. {cli2-5.1.2 → cli2-5.1.5}/setup.py +1 -1
  5. {cli2-5.1.2 → cli2-5.1.5}/tests/test_client.py +27 -0
  6. {cli2-5.1.2 → cli2-5.1.5}/tests/test_client_test.py +0 -1
  7. {cli2-5.1.2 → cli2-5.1.5}/tests/test_command.py +2 -0
  8. {cli2-5.1.2 → cli2-5.1.5}/MANIFEST.in +0 -0
  9. {cli2-5.1.2 → cli2-5.1.5}/README.rst +0 -0
  10. {cli2-5.1.2 → cli2-5.1.5}/classifiers.txt +0 -0
  11. {cli2-5.1.2 → cli2-5.1.5}/cli2/__init__.py +0 -0
  12. {cli2-5.1.2 → cli2-5.1.5}/cli2/asyncio.py +0 -0
  13. {cli2-5.1.2 → cli2-5.1.5}/cli2/cli2.py +0 -0
  14. {cli2-5.1.2 → cli2-5.1.5}/cli2/colors.py +0 -0
  15. {cli2-5.1.2 → cli2-5.1.5}/cli2/configuration.py +0 -0
  16. {cli2-5.1.2 → cli2-5.1.5}/cli2/decorators.py +0 -0
  17. {cli2-5.1.2 → cli2-5.1.5}/cli2/display.py +0 -0
  18. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/__init__.py +0 -0
  19. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/conf.py +0 -0
  20. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/example.py +0 -0
  21. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/example_obj.py +0 -0
  22. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/nesting.py +0 -0
  23. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/obj.py +0 -0
  24. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/obj2.py +0 -0
  25. {cli2-5.1.2 → cli2-5.1.5}/cli2/examples/test.py +0 -0
  26. {cli2-5.1.2 → cli2-5.1.5}/cli2/lock.py +0 -0
  27. {cli2-5.1.2 → cli2-5.1.5}/cli2/log.py +0 -0
  28. {cli2-5.1.2 → cli2-5.1.5}/cli2/mask.py +0 -0
  29. {cli2-5.1.2 → cli2-5.1.5}/cli2/node.py +0 -0
  30. {cli2-5.1.2 → cli2-5.1.5}/cli2/sphinx.py +0 -0
  31. {cli2-5.1.2 → cli2-5.1.5}/cli2/table.py +0 -0
  32. {cli2-5.1.2 → cli2-5.1.5}/cli2/test.py +0 -0
  33. {cli2-5.1.2 → cli2-5.1.5}/cli2.egg-info/SOURCES.txt +0 -0
  34. {cli2-5.1.2 → cli2-5.1.5}/cli2.egg-info/dependency_links.txt +0 -0
  35. {cli2-5.1.2 → cli2-5.1.5}/cli2.egg-info/entry_points.txt +0 -0
  36. {cli2-5.1.2 → cli2-5.1.5}/cli2.egg-info/requires.txt +0 -0
  37. {cli2-5.1.2 → cli2-5.1.5}/cli2.egg-info/top_level.txt +0 -0
  38. {cli2-5.1.2 → cli2-5.1.5}/setup.cfg +0 -0
  39. {cli2-5.1.2 → cli2-5.1.5}/tests/test_ansible.py +0 -0
  40. {cli2-5.1.2 → cli2-5.1.5}/tests/test_ansible_variables.py +0 -0
  41. {cli2-5.1.2 → cli2-5.1.5}/tests/test_asyncio.py +0 -0
  42. {cli2-5.1.2 → cli2-5.1.5}/tests/test_cli.py +0 -0
  43. {cli2-5.1.2 → cli2-5.1.5}/tests/test_configuration.py +0 -0
  44. {cli2-5.1.2 → cli2-5.1.5}/tests/test_decorators.py +0 -0
  45. {cli2-5.1.2 → cli2-5.1.5}/tests/test_display.py +0 -0
  46. {cli2-5.1.2 → cli2-5.1.5}/tests/test_entry_point.py +0 -0
  47. {cli2-5.1.2 → cli2-5.1.5}/tests/test_group.py +0 -0
  48. {cli2-5.1.2 → cli2-5.1.5}/tests/test_inject.py +0 -0
  49. {cli2-5.1.2 → cli2-5.1.5}/tests/test_lock.py +0 -0
  50. {cli2-5.1.2 → cli2-5.1.5}/tests/test_log.py +0 -0
  51. {cli2-5.1.2 → cli2-5.1.5}/tests/test_mask.py +0 -0
  52. {cli2-5.1.2 → cli2-5.1.5}/tests/test_node.py +0 -0
  53. {cli2-5.1.2 → cli2-5.1.5}/tests/test_restful.py +0 -0
  54. {cli2-5.1.2 → cli2-5.1.5}/tests/test_table.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 5.1.2
3
+ Version: 5.1.5
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
@@ -442,6 +442,11 @@ class Command(EntryPoint, dict):
442
442
  def sig(self):
443
443
  return inspect.signature(self.target)
444
444
 
445
+ def __delitem__(self, key):
446
+ if key in self.positions:
447
+ del self.positions[key]
448
+ return super().__delitem__(key)
449
+
445
450
  def __getitem__(self, key):
446
451
  self._setargs()
447
452
  return super().__getitem__(key)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 5.1.2
3
+ Version: 5.1.5
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='5.1.2',
47
+ version='5.1.5',
48
48
  setup_requires='setupmeta',
49
49
  packages=['cli2'],
50
50
  install_requires=[
@@ -1328,3 +1328,30 @@ def test_field_callback_recursion(client_class):
1328
1328
 
1329
1329
  model = client_class().TestModel(req1='lol')
1330
1330
  assert model.final == 'lolval2val3'
1331
+
1332
+
1333
+ def test_virtual(client_class):
1334
+ class TestModel(client_class.Model):
1335
+ virt = chttpx.VirtualField()
1336
+ real = chttpx.Field()
1337
+
1338
+ @real.factory(virt)
1339
+ def real_factory(self):
1340
+ return f'remote-{self.virt}'
1341
+
1342
+
1343
+ model = client_class().TestModel(virt='foo')
1344
+ assert model.virt == 'foo'
1345
+ assert model._data_virtual == dict(virt='foo')
1346
+ assert 'virt' not in model.data
1347
+
1348
+ # using the virtual field to generate a remote value
1349
+ assert model.real == 'remote-foo'
1350
+
1351
+ # setting an actual new value
1352
+ model.real = 'new-real'
1353
+ assert model.real == 'new-real'
1354
+
1355
+ # setting the virtual field does not affect present values
1356
+ model.virt = 'bar'
1357
+ assert model.real == 'new-real'
@@ -9,7 +9,6 @@ def test_name(ts, chttpx_vars):
9
9
  return chttpx_vars.setdefault('test_name', f'test{ts}')
10
10
 
11
11
 
12
-
13
12
  @pytest.mark.chttpx_mock
14
13
  def test_object_story(test_name):
15
14
  obj = APIClient.cli['object']['create'](f'name={test_name}')
@@ -519,6 +519,8 @@ def test_arg():
519
519
  assert list(cmd.keys()) == ['bar', 'foo']
520
520
  assert cmd('bar', 'foo') == 'foo'
521
521
  assert cmd['bar'].value == 'bar'
522
+ del cmd['bar']
523
+ cmd.help()
522
524
 
523
525
 
524
526
  def test_helphack():
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