diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-06-21 15:58:38 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-06-23 18:58:41 +0200 |
commit | e6fb38a92efac1e098a87d2a6947807708652369 (patch) | |
tree | 27b52315e7024325fbdde73d685652c98f7578f5 | |
parent | ced7d7b9e1a0cd771be36651558332e0010028bb (diff) |
PySide6/signature: Fix error handling
Raise an error if != 2 tokens are obtained from the argument,
changing
packages/shiboken6/files.dir/shibokensupport/signature/parser.py", line 121, in _parse_line
name, ann = tokens
ValueError: too many values to unpack (expected 2)
to
packages/shiboken6/files.dir/shibokensupport/signature/parser.py", line 119, in _parse_line
raise SystemError(f'Invalid argument "{arg}" in "{line}".')
SystemError: Invalid argument "method:QWebEngineHttpRequest::Method" in "0:PySide6.QtWebEngineCore.QWebEngineHttpRequest(self,url:typing.Union[PySide6.QtCore.QUrl, QString]=QUrl(),method:QWebEngineHttpRequest::Method)".
Pick-to: 6.1
Change-Id: I16e0f32bb3332deadc0a8819a6ba7abd6b12a941
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r-- | sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/parser.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/parser.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/parser.py index 788aaaa0d..8d8235b4a 100644 --- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/parser.py +++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/parser.py @@ -112,12 +112,11 @@ def _parse_line(line): args = [] for idx, arg in enumerate(arglist): tokens = arg.split(":") - if len(tokens) < 2: - if idx == 0 and tokens[0] in ("self", "cls"): - tokens = 2 * tokens # "self: self" - else: - # This should never happen again (but who knows?) - raise SystemError(f'Invalid argument "{arg}" in "{line}".') + if len(tokens) < 2 and idx == 0 and tokens[0] in ("self", "cls"): + tokens = 2 * tokens # "self: self" + if len(tokens) != 2: + # This should never happen again (but who knows?) + raise SystemError(f'Invalid argument "{arg}" in "{line}".') name, ann = tokens if name in keyword.kwlist: if LIST_KEYWORDS: |