This is an automated email from the ASF dual-hosted git repository.
jialiang pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 1b323d7820 AMBARI-26524: Fix inspect deprecations for Python 3.11
compatibility (#4034)
1b323d7820 is described below
commit 1b323d782060fa61aed1373cbd2a266cc2bf2c61
Author: HARSHITH GANDHE <[email protected]>
AuthorDate: Thu Jul 3 12:04:00 2025 +0530
AMBARI-26524: Fix inspect deprecations for Python 3.11 compatibility (#4034)
---
.../src/main/python/ambari_jinja2/docs/jinjaext.py | 7 ++++---
.../resource_management/libraries/script/script.py | 4 ++--
ambari-common/src/test/python/mock/mock.py | 18 ++++++++----------
3 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/ambari-common/src/main/python/ambari_jinja2/docs/jinjaext.py
b/ambari-common/src/main/python/ambari_jinja2/docs/jinjaext.py
index b9fb4003a8..94c76a0e55 100644
--- a/ambari-common/src/main/python/ambari_jinja2/docs/jinjaext.py
+++ b/ambari-common/src/main/python/ambari_jinja2/docs/jinjaext.py
@@ -91,11 +91,12 @@ def format_function(name, aliases, func):
signature = match.group(1)
else:
try:
- argspec = inspect.getargspec(func)
+ sig = inspect.signature(func)
+ params = list(sig.parameters.values())
if getattr(func, 'environmentfilter', False) or \
getattr(func, 'contextfilter', False):
- del argspec[0][0]
- signature = inspect.formatargspec(*argspec)
+ params = params[1:]
+ signature = f"({', '.join(str(param) for param in params)})"
except:
pass
result = [f'.. function:: {name}{signature}', '']
diff --git
a/ambari-common/src/main/python/resource_management/libraries/script/script.py
b/ambari-common/src/main/python/resource_management/libraries/script/script.py
index 4247689152..6b231349d3 100644
---
a/ambari-common/src/main/python/resource_management/libraries/script/script.py
+++
b/ambari-common/src/main/python/resource_management/libraries/script/script.py
@@ -1149,7 +1149,7 @@ class Script(object):
else:
# To remain backward compatible with older stacks, only pass
upgrade_type if available.
# TODO, remove checking the argspec for "upgrade_type" once all of the
services support that optional param.
- if "upgrade_type" in inspect.getargspec(self.stop).args:
+ if "upgrade_type" in inspect.signature(self.stop).parameters:
self.stop(env, upgrade_type=upgrade_type)
else:
if is_stack_upgrade:
@@ -1192,7 +1192,7 @@ class Script(object):
# To remain backward compatible with older stacks, only pass
upgrade_type if available.
# TODO, remove checking the argspec for "upgrade_type" once all of the
services support that optional param.
self.pre_start(env)
- if "upgrade_type" in inspect.getargspec(self.start).args:
+ if "upgrade_type" in inspect.signature(self.start).parameters:
self.start(env, upgrade_type=upgrade_type)
else:
if is_stack_upgrade:
diff --git a/ambari-common/src/test/python/mock/mock.py
b/ambari-common/src/test/python/mock/mock.py
index 076ef12c2b..983a62f17a 100644
--- a/ambari-common/src/test/python/mock/mock.py
+++ b/ambari-common/src/test/python/mock/mock.py
@@ -201,16 +201,14 @@ def _getsignature(func, skipfirst, instance=False):
regargs = regargs[1:]
if inPy3k:
- signature = inspect.formatargspec(
- regargs,
- varargs,
- varkw,
- defaults,
- kwonly,
- kwonlydef,
- ann,
- formatvalue=lambda value: "",
- )
+ parts = []
+ if regargs:
+ parts.extend(regargs)
+ if varargs:
+ parts.append("*" + varargs)
+ if varkw:
+ parts.append("**" + varkw)
+ signature = "(" + ", ".join(parts) + ")"
else:
signature = inspect.formatargspec(
regargs, varargs, varkwargs, defaults, formatvalue=lambda value: ""
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]