diff options
author | Christian Tismer <tismer@stackless.com> | 2021-07-18 11:21:46 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2021-07-21 17:04:56 +0200 |
commit | 2639a417e570af6f382625879970fcf5c5c5fd0f (patch) | |
tree | cb7fdfb2ec812c8ec02d7070af77b04cd85ec8a8 /sources | |
parent | bc217ec9711af8da4d6617899c705498b56dc3b8 (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.py | 17 | ||||
-rw-r--r-- | sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py | 2 |
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. |