cli2 4.2.2__tar.gz → 4.2.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 (56) hide show
  1. {cli2-4.2.2/cli2.egg-info → cli2-4.2.4}/PKG-INFO +1 -1
  2. {cli2-4.2.2 → cli2-4.2.4}/cli2/client.py +32 -16
  3. {cli2-4.2.2 → cli2-4.2.4/cli2.egg-info}/PKG-INFO +1 -1
  4. {cli2-4.2.2 → cli2-4.2.4}/setup.py +1 -1
  5. {cli2-4.2.2 → cli2-4.2.4}/MANIFEST.in +0 -0
  6. {cli2-4.2.2 → cli2-4.2.4}/README.rst +0 -0
  7. {cli2-4.2.2 → cli2-4.2.4}/classifiers.txt +0 -0
  8. {cli2-4.2.2 → cli2-4.2.4}/cli2/__init__.py +0 -0
  9. {cli2-4.2.2 → cli2-4.2.4}/cli2/ansible/__init__.py +0 -0
  10. {cli2-4.2.2 → cli2-4.2.4}/cli2/ansible/action.py +0 -0
  11. {cli2-4.2.2 → cli2-4.2.4}/cli2/ansible/playbook.py +0 -0
  12. {cli2-4.2.2 → cli2-4.2.4}/cli2/ansible/variables.py +0 -0
  13. {cli2-4.2.2 → cli2-4.2.4}/cli2/asyncio.py +0 -0
  14. {cli2-4.2.2 → cli2-4.2.4}/cli2/cli.py +0 -0
  15. {cli2-4.2.2 → cli2-4.2.4}/cli2/cli2.py +0 -0
  16. {cli2-4.2.2 → cli2-4.2.4}/cli2/colors.py +0 -0
  17. {cli2-4.2.2 → cli2-4.2.4}/cli2/configuration.py +0 -0
  18. {cli2-4.2.2 → cli2-4.2.4}/cli2/decorators.py +0 -0
  19. {cli2-4.2.2 → cli2-4.2.4}/cli2/display.py +0 -0
  20. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/__init__.py +0 -0
  21. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/client.py +0 -0
  22. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/conf.py +0 -0
  23. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/example.py +0 -0
  24. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/example_obj.py +0 -0
  25. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/nesting.py +0 -0
  26. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/obj.py +0 -0
  27. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/obj2.py +0 -0
  28. {cli2-4.2.2 → cli2-4.2.4}/cli2/examples/test.py +0 -0
  29. {cli2-4.2.2 → cli2-4.2.4}/cli2/lock.py +0 -0
  30. {cli2-4.2.2 → cli2-4.2.4}/cli2/log.py +0 -0
  31. {cli2-4.2.2 → cli2-4.2.4}/cli2/node.py +0 -0
  32. {cli2-4.2.2 → cli2-4.2.4}/cli2/sphinx.py +0 -0
  33. {cli2-4.2.2 → cli2-4.2.4}/cli2/table.py +0 -0
  34. {cli2-4.2.2 → cli2-4.2.4}/cli2/test.py +0 -0
  35. {cli2-4.2.2 → cli2-4.2.4}/cli2.egg-info/SOURCES.txt +0 -0
  36. {cli2-4.2.2 → cli2-4.2.4}/cli2.egg-info/dependency_links.txt +0 -0
  37. {cli2-4.2.2 → cli2-4.2.4}/cli2.egg-info/entry_points.txt +0 -0
  38. {cli2-4.2.2 → cli2-4.2.4}/cli2.egg-info/requires.txt +0 -0
  39. {cli2-4.2.2 → cli2-4.2.4}/cli2.egg-info/top_level.txt +0 -0
  40. {cli2-4.2.2 → cli2-4.2.4}/setup.cfg +0 -0
  41. {cli2-4.2.2 → cli2-4.2.4}/tests/test_ansible.py +0 -0
  42. {cli2-4.2.2 → cli2-4.2.4}/tests/test_ansible_variables.py +0 -0
  43. {cli2-4.2.2 → cli2-4.2.4}/tests/test_asyncio.py +0 -0
  44. {cli2-4.2.2 → cli2-4.2.4}/tests/test_cli.py +0 -0
  45. {cli2-4.2.2 → cli2-4.2.4}/tests/test_client.py +0 -0
  46. {cli2-4.2.2 → cli2-4.2.4}/tests/test_command.py +0 -0
  47. {cli2-4.2.2 → cli2-4.2.4}/tests/test_configuration.py +0 -0
  48. {cli2-4.2.2 → cli2-4.2.4}/tests/test_decorators.py +0 -0
  49. {cli2-4.2.2 → cli2-4.2.4}/tests/test_display.py +0 -0
  50. {cli2-4.2.2 → cli2-4.2.4}/tests/test_entry_point.py +0 -0
  51. {cli2-4.2.2 → cli2-4.2.4}/tests/test_group.py +0 -0
  52. {cli2-4.2.2 → cli2-4.2.4}/tests/test_inject.py +0 -0
  53. {cli2-4.2.2 → cli2-4.2.4}/tests/test_lock.py +0 -0
  54. {cli2-4.2.2 → cli2-4.2.4}/tests/test_node.py +0 -0
  55. {cli2-4.2.2 → cli2-4.2.4}/tests/test_restful.py +0 -0
  56. {cli2-4.2.2 → cli2-4.2.4}/tests/test_table.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.2.2
3
+ Version: 4.2.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
@@ -923,12 +923,16 @@ class Model(metaclass=ModelMetaclass):
923
923
  await obj.hydrate()
924
924
  return obj
925
925
 
926
- async def hydrate(self):
926
+ async def hydrate(self, data=None):
927
927
  """
928
928
  Refresh data with GET requset on :py:attr:`url_detail`
929
+
930
+ :param data: Data dict, otherwise will get it
929
931
  """
930
- response = await self.client.get(self.url)
931
- self.data.update(response.json())
932
+ if data is None:
933
+ response = await self.client.get(self.url)
934
+ data = response.json()
935
+ self.data.update(data)
932
936
  self.changed_fields = dict()
933
937
 
934
938
  async def save(self):
@@ -940,18 +944,9 @@ class Model(metaclass=ModelMetaclass):
940
944
  You might want to override this.
941
945
  """
942
946
  if self.id_value:
943
- response = await self.update()
947
+ return await self.update()
944
948
  else:
945
- response = await self.instanciate()
946
-
947
- try:
948
- data = response.json()
949
- except json.JSONDecodeError:
950
- pass
951
- else:
952
- self.data.update(data)
953
-
954
- return response
949
+ return await self.instanciate()
955
950
 
956
951
  async def instanciate(self):
957
952
  """
@@ -962,7 +957,16 @@ class Model(metaclass=ModelMetaclass):
962
957
  """
963
958
  if not self.url_list:
964
959
  raise Exception(f'{type(self).__name__}.url_list not set')
965
- return await self.client.post(self.url_list, json=self.data)
960
+ response = await self.client.post(self.url_list, json=self.data)
961
+
962
+ try:
963
+ data = response.json()
964
+ except json.JSONDecodeError:
965
+ pass
966
+ else:
967
+ await self.hydrate(data)
968
+
969
+ return response
966
970
 
967
971
  async def update(self):
968
972
  """
@@ -971,7 +975,16 @@ class Model(metaclass=ModelMetaclass):
971
975
 
972
976
  You might want to override this.
973
977
  """
974
- return await self.client.post(self.url, json=self.data)
978
+ response = await self.client.post(self.url, json=self.data)
979
+
980
+ try:
981
+ data = response.json()
982
+ except json.JSONDecodeError:
983
+ pass
984
+ else:
985
+ await self.hydrate(data)
986
+
987
+ return response
975
988
 
976
989
  @property
977
990
  def id_value(self):
@@ -1635,6 +1648,9 @@ class Client(metaclass=ClientMetaclass):
1635
1648
  kwargs = dict()
1636
1649
  if value:
1637
1650
  kwargs[key] = value
1651
+ if os.getenv('HTTP_DEBUG'):
1652
+ kwargs['content'] = request.content
1653
+ kwargs['headers'] = request.headers
1638
1654
  _log.debug('request', **kwargs)
1639
1655
 
1640
1656
  response = await self.send(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cli2
3
- Version: 4.2.2
3
+ Version: 4.2.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.2.2',
47
+ version='4.2.4',
48
48
  setup_requires='setupmeta',
49
49
  packages=['cli2'],
50
50
  install_requires=[
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