qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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



  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).