aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2018-08-25 17:06:06 +0200
committerChristian Tismer <tismer@stackless.com>2018-08-27 07:25:35 +0000
commit9382b01a2f6ff8ff294fe73f2d27b24f5c8dfb3c (patch)
tree3c3b86d49a8f02c7595a0c486c4ddbf486113640
parent9385e1731153eebb25885f2bf51bb9cd91d6f7a4 (diff)
Make signature module unconditional
After the signature module has been around for quite a while, there is no longer a reason to leave it optional. At the same time, we set the minimum Python 3 version to 3.5 . Some comments are reworked as well, but nothing real changed. Task-number: PYSIDE-510 Change-Id: I9e960f390d507d24bb45f7028838755fe23e751d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--setup.py2
-rw-r--r--sources/pyside2/PySide2/support/signature/loader.py13
-rw-r--r--sources/pyside2/PySide2/support/signature/mapping.py2
-rw-r--r--sources/pyside2/PySide2/support/signature/parser.py27
-rw-r--r--sources/shiboken2/libshiboken/signature.cpp16
5 files changed, 25 insertions, 35 deletions
diff --git a/setup.py b/setup.py
index 526622676..b218397c1 100644
--- a/setup.py
+++ b/setup.py
@@ -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"