diff options
author | John Snow <jsnow@redhat.com> | 2021-05-19 14:39:45 -0400 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2021-05-20 11:28:28 +0200 |
commit | e0e8a0ac2e60fdebd7ff0f831250c849f22af35d (patch) | |
tree | cbef79eb5614dd8603ef78f0f7f64c6c52c74649 /scripts/qapi/common.py | |
parent | 43b1be65f07c57ef2a4a6012e263677cf812c7e1 (diff) |
qapi: add must_match helper
Mypy cannot generally understand that these regex functions cannot
possibly fail. Add a "must_match" helper that makes this clear for
mypy.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-10-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'scripts/qapi/common.py')
-rw-r--r-- | scripts/qapi/common.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index cbd3fd81d3..6ad1eeb61d 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -12,7 +12,7 @@ # See the COPYING file in the top-level directory. import re -from typing import Optional, Sequence +from typing import Match, Optional, Sequence #: Magic string that gets removed along with all space to its right. @@ -210,3 +210,9 @@ def gen_endif(ifcond: Sequence[str]) -> str: #endif /* %(cond)s */ ''', cond=ifc) return ret + + +def must_match(pattern: str, string: str) -> Match[str]: + match = re.match(pattern, string) + assert match is not None + return match |