diff options
| author | Christian Tismer <tismer@stackless.com> | 2022-05-25 15:53:26 +0200 |
|---|---|---|
| committer | Christian Tismer <tismer@stackless.com> | 2022-05-27 13:30:35 +0200 |
| commit | 3bd132cbaf01fe1e929e1279d5b32b3c412cdcf4 (patch) | |
| tree | 2563ce91436a9f90e8ae497f676ec0e9bdf6a458 | |
| parent | dc55de238c0c7c52812ec4203471e4b2a7f0805d (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.py | 2 | ||||
| -rw-r--r-- | sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py | 2 |
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"]), |
