cli2 4.1.0rc15__tar.gz → 4.1.2__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.1.2/MANIFEST.in +2 -0
  2. {cli2-4.1.0rc15/cli2.egg-info → cli2-4.1.2}/PKG-INFO +1 -1
  3. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/client.py +9 -1
  4. {cli2-4.1.0rc15 → cli2-4.1.2/cli2.egg-info}/PKG-INFO +1 -1
  5. cli2-4.1.2/setup.py +90 -0
  6. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_client.py +5 -1
  7. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_restful.py +3 -3
  8. cli2-4.1.0rc15/MANIFEST.in +0 -2
  9. cli2-4.1.0rc15/setup.py +0 -44
  10. {cli2-4.1.0rc15 → cli2-4.1.2}/README.rst +0 -0
  11. {cli2-4.1.0rc15 → cli2-4.1.2}/classifiers.txt +0 -0
  12. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/__init__.py +0 -0
  13. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/ansible/__init__.py +0 -0
  14. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/ansible/action.py +0 -0
  15. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/ansible/playbook.py +0 -0
  16. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/ansible/variables.py +0 -0
  17. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/asyncio.py +0 -0
  18. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/cli.py +0 -0
  19. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/cli2.py +0 -0
  20. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/colors.py +0 -0
  21. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/configuration.py +0 -0
  22. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/decorators.py +0 -0
  23. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/display.py +0 -0
  24. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/__init__.py +0 -0
  25. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/client.py +0 -0
  26. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/conf.py +0 -0
  27. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/example.py +0 -0
  28. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/example_obj.py +0 -0
  29. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/nesting.py +0 -0
  30. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/obj.py +0 -0
  31. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/obj2.py +0 -0
  32. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/examples/test.py +0 -0
  33. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/lock.py +0 -0
  34. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/log.py +0 -0
  35. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/node.py +0 -0
  36. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/sphinx.py +0 -0
  37. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/table.py +0 -0
  38. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2/test.py +0 -0
  39. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2.egg-info/SOURCES.txt +0 -0
  40. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2.egg-info/dependency_links.txt +0 -0
  41. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2.egg-info/entry_points.txt +0 -0
  42. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2.egg-info/requires.txt +0 -0
  43. {cli2-4.1.0rc15 → cli2-4.1.2}/cli2.egg-info/top_level.txt +0 -0
  44. {cli2-4.1.0rc15 → cli2-4.1.2}/setup.cfg +0 -0
  45. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_ansible.py +0 -0
  46. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_ansible_variables.py +0 -0
  47. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_asyncio.py +0 -0
  48. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_cli.py +0 -0
  49. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_command.py +0 -0
  50. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_configuration.py +0 -0
  51. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_decorators.py +0 -0
  52. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_display.py +0 -0
  53. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_entry_point.py +0 -0
  54. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_group.py +0 -0
  55. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_inject.py +0 -0
  56. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_lock.py +0 -0
  57. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_node.py +0 -0
  58. {cli2-4.1.0rc15 → cli2-4.1.2}/tests/test_table.py +0 -0
cli2-4.1.2/MANIFEST.in ADDED
@@ -0,0 +1,2 @@
1
+ include requirements.txt classifiers.txt README.* entry_points.ini LICENSE
2
+ recursive-include cli2 *.yml *.sh *.rst *.html *.css *.js *.py *.po *.mo *.conf *.j2 *.txt
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.1.0rc15
3
+ Version: 4.1.2
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
@@ -1086,7 +1086,15 @@ class Handler:
1086
1086
  # httpx session is rendered unusable after a TransportError
1087
1087
  if isinstance(response, httpx.TransportError):
1088
1088
  await asyncio.sleep(seconds)
1089
- log.warn('reconnect', error=repr(response))
1089
+ kwargs = dict(error=repr(response))
1090
+ try:
1091
+ response.request
1092
+ except (RuntimeError, AttributeError):
1093
+ pass
1094
+ else:
1095
+ kwargs['method'] = response.request.method
1096
+ kwargs['url'] = str(response.request.url)
1097
+ log.warn('reconnect', **kwargs)
1090
1098
  await client.client_reset()
1091
1099
  return
1092
1100
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.1.0rc15
3
+ Version: 4.1.2
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
cli2-4.1.2/setup.py ADDED
@@ -0,0 +1,90 @@
1
+ from setuptools import setup
2
+
3
+ # We're not having that for the moment
4
+ # from setuptools.command.install import install
5
+ # from setuptools.command.develop import develop
6
+ # from pathlib import Path
7
+ # import os
8
+ # import shutil
9
+ # import sys
10
+ #
11
+ #
12
+ # class CollectionInstaller:
13
+ # @property
14
+ # def collection_target(self):
15
+ # target = Path(os.getenv('HOME'))
16
+ # target /= '.ansible/collections/ansible_collections/yourlabs/cli2'
17
+ # return target
18
+ #
19
+ #
20
+ # class Develop(CollectionInstaller, develop):
21
+ # def run(self):
22
+ # super().run()
23
+ #
24
+ # source = Path(self.egg_path) / 'cli2/ansible/collection'
25
+ # if self.collection_target.exists():
26
+ # if self.collection_target.is_symlink():
27
+ # if self.collection_target.resolve() == source:
28
+ # return
29
+ # elif self.collection_target.is_dir():
30
+ # shutil.rmtree(self.collection_target)
31
+ #
32
+ # self.collection_target.parent.mkdir(exist_ok=True, parents=True)
33
+ # self.collection_target.symlink_to(source)
34
+ #
35
+ #
36
+ # class Install(CollectionInstaller, install):
37
+ # def run(self):
38
+ # super().run()
39
+ #
40
+ # self.collection_target.parent.mkdir(exist_ok=True, parents=True)
41
+ # source = Path(self.install_lib) / 'cli2/ansible/collection'
42
+ # shutil.copytree(source, self.collection_target, dirs_exist_ok=True)
43
+
44
+
45
+ setup(
46
+ name='cli2',
47
+ version='4.1.2',
48
+ setup_requires='setupmeta',
49
+ packages=['cli2'],
50
+ install_requires=[
51
+ 'docstring_parser',
52
+ 'pyyaml',
53
+ 'pygments',
54
+ 'structlog',
55
+ ],
56
+ extras_require=dict(
57
+ client=[
58
+ 'httpx',
59
+ 'truststore',
60
+ ],
61
+ test=[
62
+ 'freezegun',
63
+ 'pytest',
64
+ 'pytest-cov',
65
+ 'pytest-mock',
66
+ 'pytest-asyncio',
67
+ 'pytest-httpx',
68
+ ],
69
+ ),
70
+ author='James Pic',
71
+ author_email='jamespic@gmail.com',
72
+ url='https://yourlabs.io/oss/cli2',
73
+ include_package_data=True,
74
+ license='MIT',
75
+ keywords='cli',
76
+ python_requires='>=3.6',
77
+ entry_points={
78
+ 'console_scripts': [
79
+ 'cli2 = cli2.cli2:main.entry_point',
80
+ 'cli2-example = cli2.examples.obj:cli.entry_point',
81
+ 'cli2-example2 = cli2.examples.obj2:cli.entry_point',
82
+ 'cli2-example-nesting = cli2.examples.nesting:cli.entry_point',
83
+ 'cli2-example-client = cli2.examples.client:cli.entry_point',
84
+ ],
85
+ },
86
+ # cmdclass={
87
+ # 'install': Install,
88
+ # 'develop': Develop,
89
+ # },
90
+ )
@@ -299,10 +299,14 @@ async def test_handler(client_class):
299
299
  await handler(client, response, 1, [], log)
300
300
 
301
301
  assert not client.client_reset.await_count
302
- result = await handler(client, httpx.TransportError('foo'), 0, [], log)
302
+ exc = httpx.TransportError('foo')
303
+ exc.request = response.request
304
+ result = await handler(client, exc, 0, [], log)
303
305
  log.warn.assert_called_once_with(
304
306
  'reconnect',
305
307
  error="TransportError('foo')",
308
+ method='POST',
309
+ url='/',
306
310
  )
307
311
  assert not result
308
312
  assert client.client_reset.await_count == 1
@@ -40,7 +40,7 @@ async def test_create(httpx_mock):
40
40
  capacity='5',
41
41
  )
42
42
  )
43
- assert module.result['json']['id'] == 1
43
+ assert module.result['data']['id'] == 1
44
44
 
45
45
 
46
46
  @pytest.mark.asyncio
@@ -68,7 +68,7 @@ async def test_update(httpx_mock):
68
68
  )
69
69
  )
70
70
  assert not module.result['changed']
71
- assert module.result['json']['id'] == 1
71
+ assert module.result['data']['id'] == 1
72
72
 
73
73
  # testing for update
74
74
  httpx_mock.add_response(
@@ -91,5 +91,5 @@ async def test_update(httpx_mock):
91
91
  price='6',
92
92
  )
93
93
  )
94
- assert module.result['json']['id'] == 1
94
+ assert module.result['data']['id'] == 1
95
95
  assert module.result['changed']
@@ -1,2 +0,0 @@
1
- include requirements.txt classifiers.txt README.* entry_points.ini LICENSE
2
- recursive-include *.yml *.sh *.rst *.html *.css *.js *.py *.po *.mo *.conf *.j2 *.txt
cli2-4.1.0rc15/setup.py DELETED
@@ -1,44 +0,0 @@
1
- from setuptools import setup
2
-
3
-
4
- setup(
5
- name='cli2',
6
- version='4.1.0rc15',
7
- setup_requires='setupmeta',
8
- install_requires=[
9
- 'docstring_parser',
10
- 'pyyaml',
11
- 'pygments',
12
- 'structlog',
13
- ],
14
- extras_require=dict(
15
- client=[
16
- 'httpx',
17
- 'truststore',
18
- ],
19
- test=[
20
- 'freezegun',
21
- 'pytest',
22
- 'pytest-cov',
23
- 'pytest-mock',
24
- 'pytest-asyncio',
25
- 'pytest-httpx',
26
- ],
27
- ),
28
- author='James Pic',
29
- author_email='jamespic@gmail.com',
30
- url='https://yourlabs.io/oss/cli2',
31
- include_package_data=True,
32
- license='MIT',
33
- keywords='cli',
34
- python_requires='>=3.6',
35
- entry_points={
36
- 'console_scripts': [
37
- 'cli2 = cli2.cli2:main.entry_point',
38
- 'cli2-example = cli2.examples.obj:cli.entry_point',
39
- 'cli2-example2 = cli2.examples.obj2:cli.entry_point',
40
- 'cli2-example-nesting = cli2.examples.nesting:cli.entry_point',
41
- 'cli2-example-client = cli2.examples.client:cli.entry_point',
42
- ],
43
- },
44
- )
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