pyxecm 3.9.2__tar.gz → 3.9.3__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 (88) hide show
  1. {pyxecm-3.9.2 → pyxecm-3.9.3}/PKG-INFO +1 -1
  2. {pyxecm-3.9.2 → pyxecm-3.9.3}/pyproject.toml +1 -1
  3. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/errors.py +37 -0
  4. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otcs.py +252 -127
  5. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/manager_push.py +27 -0
  6. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/payload.py +211 -46
  7. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/sap.py +1185 -310
  8. pyxecm-3.9.3/src/pyxecm_customizer/sap_metadata.py +345 -0
  9. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/sap_models.py +125 -2
  10. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/settings.py +4 -0
  11. {pyxecm-3.9.2 → pyxecm-3.9.3}/.gitignore +0 -0
  12. {pyxecm-3.9.2 → pyxecm-3.9.3}/README.md +0 -0
  13. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/__init__.py +0 -0
  14. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/avts.py +0 -0
  15. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/coreshare.py +0 -0
  16. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/helper/__init__.py +0 -0
  17. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/helper/assoc.py +0 -0
  18. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/helper/data.py +0 -0
  19. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/helper/logadapter.py +0 -0
  20. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/helper/web.py +0 -0
  21. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/helper/xml.py +0 -0
  22. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otac.py +0 -0
  23. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otawp.py +0 -0
  24. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otca.py +0 -0
  25. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otds.py +0 -0
  26. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otiv.py +0 -0
  27. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otkd.py +0 -0
  28. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otmm.py +0 -0
  29. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/otpd.py +0 -0
  30. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm/py.typed +0 -0
  31. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/__init__.py +0 -0
  32. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/__main__.py +0 -0
  33. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/app.py +0 -0
  34. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/auth/__init__.py +0 -0
  35. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/auth/functions.py +0 -0
  36. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/auth/models.py +0 -0
  37. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/auth/router.py +0 -0
  38. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/common/__init__.py +0 -0
  39. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/common/functions.py +0 -0
  40. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/common/metrics.py +0 -0
  41. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/common/models.py +0 -0
  42. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/common/router.py +0 -0
  43. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/config/__init__.py +0 -0
  44. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/config/functions.py +0 -0
  45. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/config/models.py +0 -0
  46. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/config/router.py +0 -0
  47. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/pods/__init__.py +0 -0
  48. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/pods/functions.py +0 -0
  49. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/pods/log_spool.py +0 -0
  50. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/pods/models.py +0 -0
  51. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/pods/router.py +0 -0
  52. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/settings.py +0 -0
  53. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/terminal/__init__.py +0 -0
  54. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/terminal/router.py +0 -0
  55. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_maintenance/__init__.py +0 -0
  56. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_maintenance/functions.py +0 -0
  57. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_maintenance/models.py +0 -0
  58. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_maintenance/router.py +0 -0
  59. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_otcs/__init__.py +0 -0
  60. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_otcs/functions.py +0 -0
  61. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_otcs/router.py +0 -0
  62. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_payload/__init__.py +0 -0
  63. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_payload/functions.py +0 -0
  64. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_payload/log_reader.py +0 -0
  65. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_payload/models.py +0 -0
  66. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_api/v1_payload/router.py +0 -0
  67. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/__init__.py +0 -0
  68. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/__main__.py +0 -0
  69. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/browser_automation.py +0 -0
  70. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/customizer.py +0 -0
  71. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/exceptions.py +0 -0
  72. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/guidewire.py +0 -0
  73. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/k8s.py +0 -0
  74. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/log.py +0 -0
  75. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/m365.py +0 -0
  76. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/payload_list.py +0 -0
  77. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/salesforce.py +0 -0
  78. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/sap_forms.py +0 -0
  79. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/servicenow.py +0 -0
  80. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/successfactors.py +0 -0
  81. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/translate.py +0 -0
  82. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_customizer/version.py +0 -0
  83. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_maintenance_page/__init__.py +0 -0
  84. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_maintenance_page/__main__.py +0 -0
  85. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_maintenance_page/app.py +0 -0
  86. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_maintenance_page/settings.py +0 -0
  87. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_maintenance_page/static/favicon.avif +0 -0
  88. {pyxecm-3.9.2 → pyxecm-3.9.3}/src/pyxecm_maintenance_page/templates/maintenance.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pyxecm
3
- Version: 3.9.2
3
+ Version: 3.9.3
4
4
  Summary: A Python library to interact with Opentext Content Management Rest API
5
5
  Project-URL: Homepage, https://github.com/opentext/pyxecm
6
6
  Author-email: Kai Gatzweiler <kgatzweiler@opentext.com>, "Dr. Marc Diefenbruch" <mdiefenb@opentext.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyxecm"
3
- version = "3.9.2"
3
+ version = "3.9.3"
4
4
  description = 'A Python library to interact with Opentext Content Management Rest API'
5
5
  keywords = [
6
6
  'opentext',
@@ -30,10 +30,13 @@ __credits__ = ["Kai-Philip Gatzweiler"]
30
30
  __maintainer__ = "Dr. Marc Diefenbruch"
31
31
  __email__ = "mdiefenb@opentext.com"
32
32
 
33
+ import contextlib
33
34
  import json
34
35
  import logging
36
+ import os
35
37
  import threading
36
38
  import urllib.parse
39
+ import warnings
37
40
  from collections import deque
38
41
  from collections.abc import Generator, Iterator
39
42
  from contextlib import contextmanager, suppress
@@ -719,6 +722,40 @@ def record_error(
719
722
  # end function definition
720
723
 
721
724
 
725
+ # The warning should point to the code that called pyxecm - not to the pyxecm
726
+ # method that passes the parameter on (e.g. OTCS.create_item() -> OTCS.do_request())
727
+ # or to the wrapper of the @tracer.start_as_current_span decorator (in contextlib).
728
+ # The contextlib entry has no ".py" extension: CPython does not compare the last
729
+ # character of the file name, so a prefix that is the complete file name never matches.
730
+ _PYXECM_PACKAGE_DIRS = (
731
+ *(
732
+ os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), package) + os.sep
733
+ for package in ("pyxecm", "pyxecm_customizer")
734
+ ),
735
+ os.path.splitext(contextlib.__file__)[0],
736
+ )
737
+
738
+
739
+ def warn_parse_error_response_deprecated() -> None:
740
+ """Warn that the parse_error_response parameter is deprecated.
741
+
742
+ The error details are available via capture_errors() for all pyxecm calls,
743
+ so the parameter will be removed in a future version.
744
+ """
745
+
746
+ warnings.warn(
747
+ message=(
748
+ "The parameter parse_error_response is deprecated and will be removed in a future version. "
749
+ "Use capture_errors() to get the error details instead, e.g. errors.root_cause.server_message."
750
+ ),
751
+ category=DeprecationWarning,
752
+ skip_file_prefixes=_PYXECM_PACKAGE_DIRS,
753
+ )
754
+
755
+
756
+ # end function definition
757
+
758
+
722
759
  def request_error_severity(show_error: bool, show_warning: bool = True) -> ErrorSeverity:
723
760
  """Return the severity of a failed REST call that matches its log level.
724
761