diff options
-rw-r--r-- | setup.py | 2 | ||||
-rw-r--r-- | sources/pyside2/PySide2/support/signature/loader.py | 13 | ||||
-rw-r--r-- | sources/pyside2/PySide2/support/signature/mapping.py | 2 | ||||
-rw-r--r-- | sources/pyside2/PySide2/support/signature/parser.py | 27 | ||||
-rw-r--r-- | sources/shiboken2/libshiboken/signature.cpp | 16 |
5 files changed, 25 insertions, 35 deletions
@@ -267,8 +267,6 @@ setup( 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', diff --git a/sources/pyside2/PySide2/support/signature/loader.py b/sources/pyside2/PySide2/support/signature/loader.py index 1827ca454..984e738df 100644 --- a/sources/pyside2/PySide2/support/signature/loader.py +++ b/sources/pyside2/PySide2/support/signature/loader.py @@ -40,13 +40,18 @@ from __future__ import print_function, absolute_import """ +loader.py + +The loader has to lazy-load the signature module and also provides a few +Python modules to support Python 2.7 . + This file was originally directly embedded into the C source. After it grew more and more, I now prefer to have it as Python file. -The remaining stub loader is a short string now. +The remaining stub loader in the C source is now only a short string. -The loader has to lazy-load the signature module and also provides a few -Python modules that I consider essential and therefore built-in. -This version does not use an embedded .zip file. +This version does no longer use an embedded .zip file but is a package. +The old code without a package but with zip compression can still be found +at https://codereview.qt-project.org/#/c/203533/ for reference. """ import sys diff --git a/sources/pyside2/PySide2/support/signature/mapping.py b/sources/pyside2/PySide2/support/signature/mapping.py index 7151af8bb..dd3df0988 100644 --- a/sources/pyside2/PySide2/support/signature/mapping.py +++ b/sources/pyside2/PySide2/support/signature/mapping.py @@ -40,7 +40,7 @@ from __future__ import print_function, absolute_import """ -signature_mapping.py +mapping.py This module has the mapping from the pyside C-modules view of signatures to the Python representation. diff --git a/sources/pyside2/PySide2/support/signature/parser.py b/sources/pyside2/PySide2/support/signature/parser.py index eb6453d3e..9313fb540 100644 --- a/sources/pyside2/PySide2/support/signature/parser.py +++ b/sources/pyside2/PySide2/support/signature/parser.py @@ -49,21 +49,24 @@ from .mapping import type_map, update_mapping, __dict__ as namespace _DEBUG = False -TYPE_MAP_DOC = """ - The type_map variable is central for the signature package. +""" +parser.py + +This module parses the signature text and creates properties for the +signature objects. - PySide has a new function 'CppGenerator::writeSignatureInfo()' - that extracts the gathered information about the function arguments - and defaults as good as it can. But what PySide generates is still - very C-ish and has many constants that Python doesn't understand. +PySide has a new function 'CppGenerator::writeSignatureInfo()' +that extracts the gathered information about the function arguments +and defaults as good as it can. But what PySide generates is still +very C-ish and has many constants that Python doesn't understand. - The function 'try_to_guess()' below understands a lot of PySide's - peculiar way to assume local context. If it is able to do the guess, - then the result is inserted into the dict, so the search happens - not again. For everything that is not covered by these automatic - guesses, we provide an entry in 'type_map' that resolves it. +The function 'try_to_guess()' below understands a lot of PySide's +peculiar way to assume local context. If it is able to do the guess, +then the result is inserted into the dict, so the search happens +not again. For everything that is not covered by these automatic +guesses, we provide an entry in 'type_map' that resolves it. - In effect, 'type_map' maps text to real Python objects. +In effect, 'type_map' maps text to real Python objects. """ def dprint(*args, **kw): diff --git a/sources/shiboken2/libshiboken/signature.cpp b/sources/shiboken2/libshiboken/signature.cpp index df49a4d29..4ad22de77 100644 --- a/sources/shiboken2/libshiboken/signature.cpp +++ b/sources/shiboken2/libshiboken/signature.cpp @@ -107,12 +107,6 @@ extern "C" #include "signature.h" #include <structmember.h> -#define EXTENSION_ENABLED \ - PY_VERSION_HEX >= 0x03040000 || \ - (PY_VERSION_HEX < 0x03000000 && PY_VERSION_HEX >= 0x02070000) - -#if EXTENSION_ENABLED - // These constants were needed in former versions of the module: #define PYTHON_HAS_QUALNAME (PY_VERSION_HEX >= 0x03030000) #define PYTHON_HAS_UNICODE (PY_VERSION_HEX >= 0x03000000) @@ -697,20 +691,14 @@ PySide_BuildSignatureProps(PyObject *classmod) return dict; } -#endif // EXTENSION_ENABLED - int SbkSpecial_Type_Ready(PyObject *module, PyTypeObject *type, const char *signatures) { int ret; -#if EXTENSION_ENABLED if (PySideType_Ready(type) < 0) return -1; ret = PySide_BuildSignatureArgs(module, (PyObject *)type, signatures); -#else - ret = PyType_Ready(type); -#endif if (ret < 0) { PyErr_Print(); PyErr_SetNone(PyExc_ImportError); @@ -718,7 +706,6 @@ SbkSpecial_Type_Ready(PyObject *module, PyTypeObject *type, return ret; } -#if EXTENSION_ENABLED static int PySide_FinishSignatures(PyObject *module, const char *signatures) { @@ -765,17 +752,14 @@ PySide_FinishSignatures(PyObject *module, const char *signatures) } return 0; } -#endif // EXTENSION_ENABLED void FinishSignatureInitialization(PyObject *module, const char *signatures) { -#if EXTENSION_ENABLED if (PySide_FinishSignatures(module, signatures) < 0) { PyErr_Print(); PyErr_SetNone(PyExc_ImportError); } -#endif } } //extern "C" |