aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2022-05-25 15:53:26 +0200
committerChristian Tismer <tismer@stackless.com>2022-05-27 13:30:35 +0200
commit3bd132cbaf01fe1e929e1279d5b32b3c412cdcf4 (patch)
tree2563ce91436a9f90e8ae497f676ec0e9bdf6a458
parentdc55de238c0c7c52812ec4203471e4b2a7f0805d (diff)
PyEnum: Fix the old Enums to produce correct .pyi files, again
Before starting the PyEnum move, I always used Python to check the validity of everything in a .pyi file. I tried that with Qt enums as well, but it crashed when tested. Therefore, I did the transition to Python enums, prematurely. Later on, it became clear that .pyi files are no longer compatible to be run in Python at all, and Mypy is the checker, instead. After removing the Python self-test, the original, correct enum handling can be restored. Depending on PySide version, the .pyi files are now correctly created for old or new Enums. [ChangeLog][PySide6] Enums are now correctly handled in Python interface files, depending from the version selection. Change-Id: I79acc4d12b3c16e2624fbb0a6147bbeb40075ebb Fixes: PYSIDE-1731 Pick-to: 6.3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py2
-rw-r--r--sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py2
2 files changed, 2 insertions, 2 deletions
diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py
index 3fbc8df6d..779ac2b4a 100644
--- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py
+++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py
@@ -108,7 +108,7 @@ class ExactEnumerator(object):
bases_list = []
for base in klass.__bases__:
name = base.__qualname__
- if name not in ("object", "property", "type", "Enum"):
+ if name not in ("object", "property", "type"):
name = base.__module__ + "." + name
bases_list.append(name)
bases_str = ', '.join(bases_list)
diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py
index 071ccc6dc..bdc5096f5 100644
--- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py
+++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py
@@ -160,7 +160,7 @@ def find_imports(text):
FROM_IMPORTS = [
(None, ["builtins"]),
(None, ["os"]),
- (None, ["enum"]),
+ (None, ["enum"] if sys.pyside63_option_python_enum else []),
("typing", typing.__all__),
("PySide6.QtCore", ["PyClassProperty"]),
("shiboken6", ["Shiboken"]),