From d5c5d8af45e21b1ad36a0dcda66e0f32186b9780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Tue, 24 Sep 2019 13:29:27 +0100 Subject: [PATCH] python: mark regex strings with 'r' prefix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When writing regexes special regex matches like "\d" can get misinterpreted as normal string escape sequences: docs/apibuild.py:1359:51: W605 invalid escape sequence '\d' value = value + re.sub("^(\d+)U$", "\\1", token[1]) ^ docs/apibuild.py:2134:31: W605 invalid escape sequence '\(' m = re.match("\(?1<<(\d+)\)?", info[0]) ^ docs/apibuild.py:2134:38: W605 invalid escape sequence '\d' m = re.match("\(?1<<(\d+)\)?", info[0]) ^ docs/apibuild.py:2134:42: W605 invalid escape sequence '\)' m = re.match("\(?1<<(\d+)\)?", info[0]) ^ To avoid this probem all regexes should use the r"...." syntax for their strings, which disables normal string escape sequences. Signed-off-by: Daniel P. Berrangé --- build-aux/syntax-check.mk | 2 +- docs/apibuild.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index 221c581a31..3bb9a90e9d 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -888,7 +888,7 @@ FLAKE8_WHITESPACE = E211,E221,E222,E225,E226,E231,E261 FLAKE8_BLANK_LINES = E301,E302,E303,E305 FLAKE8_LINE_LENGTH = E501 FLAKE8_STATEMENTS = E722,E741 -FLAKE8_WARNINGS = W504,W605 +FLAKE8_WARNINGS = W504 FLAKE8_IGNORE = $(FLAKE8_INDENTATION),$\ $(FLAKE8_WHITESPACE),$\ diff --git a/docs/apibuild.py b/docs/apibuild.py index 20ce926ae8..7e4fbff07f 100755 --- a/docs/apibuild.py +++ b/docs/apibuild.py @@ -665,7 +665,7 @@ class CParser: for line in lines: line = line.lstrip().lstrip('*').lstrip() - m = re.match('([_.a-zA-Z0-9]+):(.*)', line) + m = re.match(r'([_.a-zA-Z0-9]+):(.*)', line) if m: item = m.group(1) line = m.group(2).lstrip() @@ -1333,7 +1333,7 @@ class CParser: while token[0] != "sep" or (token[1] != ',' and token[1] != '}'): # We might be dealing with '1U << 12' here - value = value + re.sub("^(\d+)U$", "\\1", token[1]) + value = value + re.sub(r"^(\d+)U$", "\\1", token[1]) token = self.token() else: try: @@ -2108,7 +2108,7 @@ class docBuilder: if valhex != "": output.write(" value_hex='%s'" % (valhex)) - m = re.match("\(?1<<(\d+)\)?", info[0]) + m = re.match(r"\(?1<<(\d+)\)?", info[0]) if m: output.write(" value_bitshift='%s'" % (m.group(1))) -- GitLab