From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "John Snow" <jsnow@redhat.com>, "Cleber Rosa" <crosa@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Beraldo Leal" <bleal@redhat.com>,
"Michael Roth" <michael.roth@amd.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH 1/8] python/qapi: correct re.Match type hints for 3.13
Date: Mon, 19 Aug 2024 20:23:10 -0400 [thread overview]
Message-ID: <20240820002318.1380276-2-jsnow@redhat.com> (raw)
In-Reply-To: <20240820002318.1380276-1-jsnow@redhat.com>
typing.Match was removed in Python 3.13, so we need to use re.Match
instead. However, Python 3.8 doesn't support using re.Match as a type
hint directly, so we need a conditional for now.
The import is written oddly so that "Match" is explicitly re-exported
for re-use by other modules. mypy will complain otherwise.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qapi/common.py | 10 +++++++++-
scripts/qapi/parser.py | 3 +--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index 737b059e629..444b3acf53a 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -12,16 +12,24 @@
# See the COPYING file in the top-level directory.
import re
+import sys
from typing import (
Any,
Dict,
- Match,
Optional,
Sequence,
Union,
)
+if sys.version_info < (3, 9):
+ # typing.Match was removed in 3.13,
+ # but it's still a necessity in 3.8.
+ from typing import \
+ Match as Match # pylint: disable=useless-import-alias
+else:
+ Match = re.Match
+
#: Magic string that gets removed along with all space to its right.
EATSPACE = '\033EATSPACE.'
POINTER_SUFFIX = ' *' + EATSPACE
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index adc85b5b394..9a42b119131 100644
--- a/scripts/qapi/parser.py
+++ b/scripts/qapi/parser.py
@@ -23,13 +23,12 @@
Dict,
List,
Mapping,
- Match,
Optional,
Set,
Union,
)
-from .common import must_match
+from .common import Match, must_match
from .error import QAPISemError, QAPISourceError
from .source import QAPISourceInfo
--
2.45.0
next prev parent reply other threads:[~2024-08-20 0:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-20 0:23 [PATCH 0/8] move qapi under python/qemu/ John Snow
2024-08-20 0:23 ` John Snow [this message]
2024-08-20 10:19 ` [PATCH 1/8] python/qapi: correct re.Match type hints for 3.13 Philippe Mathieu-Daudé
2024-08-20 0:23 ` [PATCH 2/8] python/qapi: change "FIXME" to "TODO" John Snow
2024-08-30 11:09 ` Markus Armbruster
2024-08-30 18:33 ` John Snow
2024-08-31 6:02 ` Markus Armbruster
2024-09-03 16:44 ` John Snow
2024-08-20 0:23 ` [PATCH 3/8] python/qapi: add pylint pragmas John Snow
2024-08-20 0:23 ` [PATCH 4/8] python/qapi: remove outdated pragmas John Snow
2024-08-20 0:23 ` [PATCH 5/8] python/qapi: ignore missing docstrings in pylint John Snow
2024-08-20 0:23 ` [PATCH 6/8] python: allow short names for variables on older pylint John Snow
2024-08-20 0:23 ` [PATCH 7/8] python/qapi: move scripts/qapi to python/qemu/qapi John Snow
2024-08-30 11:20 ` Markus Armbruster
2024-08-30 11:29 ` Daniel P. Berrangé
2024-08-30 17:53 ` John Snow
2024-08-30 18:22 ` John Snow
2024-09-02 8:51 ` Daniel P. Berrangé
2024-09-02 9:35 ` Peter Maydell
2024-09-03 17:31 ` John Snow
2024-08-20 0:23 ` [PATCH 8/8] python/qapi: remove redundant linter configuration John Snow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240820002318.1380276-2-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=michael.roth@amd.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.