python: mark regex strings with 'r' prefix

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@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-09-24 13:29:27 +01:00
parent 524b377e9e
commit d5c5d8af45
2 changed files with 4 additions and 4 deletions

View File

@ -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),$\

View File

@ -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)))