Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python3-wxgtk4: replace deprecated inspect.getargspec #638

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Upstream-Status: Backport [https://github.com/wxWidgets/Phoenix/commit/9986a0d5]

Signed-off-by: Kai Kang <[email protected]>

From 9986a0d5c24b5d45ddf571d60351f68765a8a9be Mon Sep 17 00:00:00 2001
From: Scott Talbert <[email protected]>
Date: Mon, 8 Aug 2022 22:35:58 -0400
Subject: [PATCH] pypubsub: Replace deprecated inspect.getargspec

inspect.getargspec was removed in Python 3.11. This is a backport of:
https://github.com/schollii/pypubsub/commit/089c7a73f85c76a3aa22e4b10c71db1bf65a8637
---
wx/lib/pubsub/core/callables.py | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/wx/lib/pubsub/core/callables.py b/wx/lib/pubsub/core/callables.py
index 65eb1ebe..7e798c54 100644
--- a/wx/lib/pubsub/core/callables.py
+++ b/wx/lib/pubsub/core/callables.py
@@ -12,7 +12,7 @@ CallArgsInfo regarding its autoTopicArgName data member.

"""

-from inspect import getargspec, ismethod, isfunction
+from inspect import ismethod, isfunction, signature, Parameter

from .. import py2and3

@@ -133,19 +133,26 @@ class CallArgsInfo:
self.autoTopicArgName = None."""

#args, firstArgIdx, defaultVals, acceptsAllKwargs
- (allParams, varParamName, varOptParamName, defaultVals) = getargspec(func)
- if defaultVals is None:
- defaultVals = []
- else:
- defaultVals = list(defaultVals)
+ allParams = []
+ defaultVals = []
+ varParamName = None
+ varOptParamName = None
+ for argName, param in signature(func).parameters.items():
+ if param.default != Parameter.empty:
+ defaultVals.append(param.default)
+ if param.kind == Parameter.VAR_POSITIONAL:
+ varParamName = argName
+ elif param.kind == Parameter.VAR_KEYWORD:
+ varOptParamName = argName
+ else:
+ allParams.append(argName)

self.acceptsAllKwargs = (varOptParamName is not None)
self.acceptsAllUnnamedArgs = (varParamName is not None)
-
self.allParams = allParams
- del self.allParams[0:firstArgIdx] # does nothing if firstArgIdx == 0

self.numRequired = len(self.allParams) - len(defaultVals)
+ assert len(self.allParams) >= len(defaultVals)
assert self.numRequired >= 0

# if listener wants topic, remove that arg from args/defaultVals
--
2.34.1

Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ PYPI_PACKAGE = "wxPython"
SRC_URI += "file://add-back-option-build-base.patch \
file://wxgtk-fixup-build-scripts.patch \
file://not-overwrite-cflags-cxxflags.patch \
file://0001-pypubsub-Replace-deprecated-inspect.getargspec.patch \
"
SRC_URI[sha256sum] = "663cebc4509d7e5d113518865fe274f77f95434c5d57bc386ed58d65ceed86c7"

Expand All @@ -29,6 +30,7 @@ RDEPENDS:${PN} = "\
python3-image \
python3-numpy \
python3-pillow \
python3-pip \
python3-pprint \
python3-pycairo \
python3-six \
Expand Down