aboutsummaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2021-07-18 11:21:46 +0200
committerChristian Tismer <tismer@stackless.com>2021-07-21 17:04:56 +0200
commit2639a417e570af6f382625879970fcf5c5c5fd0f (patch)
treecb7fdfb2ec812c8ec02d7070af77b04cd85ec8a8 /sources
parentbc217ec9711af8da4d6617899c705498b56dc3b8 (diff)
signature: update and make embedding aware
The signature scripts needed an update to make them work even when no source files are available. * Access to the license text should avoid source files * Some loader simplifications are possible since Python 2 is gone * The import list for PySide is incomplete * Enforce embedding in COIN mode for better testing This is a preparational step before the zip file access becomes totally virtual. Change-Id: I85e750bb718855f140edac6de34955adbd7843bc Task-number: PYSIDE-1621 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit a9de26109fca55154511f5d074c7d9e135b397f6)
Diffstat (limited to 'sources')
-rw-r--r--sources/pyside2/PySide2/support/generate_pyi.py17
-rw-r--r--sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py2
2 files changed, 8 insertions, 11 deletions
diff --git a/sources/pyside2/PySide2/support/generate_pyi.py b/sources/pyside2/PySide2/support/generate_pyi.py
index a220b2028..36603a7ad 100644
--- a/sources/pyside2/PySide2/support/generate_pyi.py
+++ b/sources/pyside2/PySide2/support/generate_pyi.py
@@ -1,4 +1,6 @@
# This Python file uses the following encoding: utf-8
+from __future__ import print_function, absolute_import, unicode_literals
+LICENSE_TEXT = """
#############################################################################
##
## Copyright (C) 2021 The Qt Company Ltd.
@@ -19,8 +21,7 @@
## $QT_END_LICENSE$
##
#############################################################################
-
-from __future__ import print_function, absolute_import, unicode_literals
+"""
"""
generate_pyi.py
@@ -183,14 +184,6 @@ class Formatter(Writer):
yield
-def get_license_text():
- with io.open(sourcepath) as f:
- lines = f.readlines()
- license_line = next((lno for lno, line in enumerate(lines)
- if "$QT_END_LICENSE$" in line))
- return "".join(lines[:license_line + 3])
-
-
def find_imports(text):
return [imp for imp in PySide2.__all__ if imp + "." in text]
@@ -210,7 +203,7 @@ def generate_pyi(import_name, outpath, options):
outfile = io.StringIO()
fmt = Formatter(outfile)
- fmt.print(get_license_text()) # which has encoding, already
+ fmt.print(LICENSE_TEXT.strip())
need_imports = not USE_PEP563
if USE_PEP563:
fmt.print("from __future__ import annotations")
@@ -289,6 +282,8 @@ def generate_all_pyi(outpath, options):
if __name__ == "__main__":
+ # PYSIDE-1621: Enforce embedding to ensure that it always works.
+ sys.pyside_uses_embedding = True
parser = argparse.ArgumentParser(
description="This script generates the .pyi file for all PySide modules.")
parser.add_argument("modules", nargs="+",
diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
index 6582c1373..f0a384823 100644
--- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
+++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py
@@ -188,6 +188,7 @@ def move_into_pyside_package():
put_into_package(PySide2.support.signature, parser)
put_into_package(PySide2.support.signature, importhandler)
put_into_package(PySide2.support.signature.lib, enum_sig)
+ put_into_package(PySide2.support.signature.lib, tool)
put_into_package(None if orig_typing else PySide2.support.signature, typing)
put_into_package(PySide2.support.signature, inspect)
@@ -199,6 +200,7 @@ from shibokensupport.signature import lib
from shibokensupport.signature import parser
from shibokensupport.signature import importhandler
from shibokensupport.signature.lib import enum_sig
+from shibokensupport.signature.lib import tool
if "PySide2" in sys.modules:
# We publish everything under "PySide2.support.signature", again.