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é <berrange@xxxxxxxxxx> --- 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 97255908b8..acd3f96c6d 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -884,7 +884,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 dc52caf76d..18dc3604d0 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))) -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list