makedocbook: Use raw strings for regexes

Use raw strings for regexes. This is best practice, and fixes a number
of "W605 invalid escape sequence" flakes.
This commit is contained in:
Jon Turney 2022-11-01 11:15:25 +00:00
parent bd4bed1254
commit 2432d77099
No known key found for this signature in database
GPG Key ID: C7C86F0370285C81
1 changed files with 11 additions and 11 deletions

View File

@ -107,7 +107,7 @@ def remove_noncomments(src):
# A command is a single word of at least 3 characters, all uppercase, and alone on a line # A command is a single word of at least 3 characters, all uppercase, and alone on a line
def iscommand(l): def iscommand(l):
if re.match('^[A-Z_]{3,}\s*$', l): if re.match(r'^[A-Z_]{3,}\s*$', l):
return True return True
return False return False
@ -198,7 +198,7 @@ def function(c, l):
descr = line_markup_convert(', '.join(descrlist)) descr = line_markup_convert(', '.join(descrlist))
# fpclassify includes an 'and' we need to discard # fpclassify includes an 'and' we need to discard
namelist = map(lambda v: re.sub('^and ', '', v.strip(), 1), namelist) namelist = map(lambda v: re.sub(r'^and ', r'', v.strip(), 1), namelist)
# strip off << >> surrounding name # strip off << >> surrounding name
namelist = map(lambda v: v.strip().lstrip('<').rstrip('>'), namelist) namelist = map(lambda v: v.strip().lstrip('<').rstrip('>'), namelist)
# instantiate list to make it subscriptable # instantiate list to make it subscriptable
@ -297,11 +297,11 @@ def synopsis(c, t):
s = '' s = ''
for l in t.splitlines(): for l in t.splitlines():
if re.match('\s*(#|\[|struct)', l): if re.match(r'\s*(#|\[|struct)', l):
# preprocessor # directives, structs, comments in square brackets # preprocessor # directives, structs, comments in square brackets
funcsynopsisinfo = lxml.etree.SubElement(funcsynopsis, 'funcsynopsisinfo') funcsynopsisinfo = lxml.etree.SubElement(funcsynopsis, 'funcsynopsisinfo')
funcsynopsisinfo.text = l.strip() + '\n' funcsynopsisinfo.text = l.strip() + '\n'
elif re.match('[Ll]ink with', l): elif re.match(r'[Ll]ink with', l):
pass pass
else: else:
s = s + l s = s + l
@ -348,7 +348,7 @@ def synopsis_for_prototype(funcsynopsis, s):
void = lxml.etree.SubElement(funcprototype, 'void') void = lxml.etree.SubElement(funcprototype, 'void')
else: else:
# Split parameters on ',' except if it is inside () # Split parameters on ',' except if it is inside ()
for p in re.split(',(?![^()]*\))', match.group(3)): for p in re.split(r',(?![^()]*\))', match.group(3)):
p = p.strip() p = p.strip()
if verbose: if verbose:
@ -361,7 +361,7 @@ def synopsis_for_prototype(funcsynopsis, s):
parameter = lxml.etree.SubElement(paramdef, 'parameter') parameter = lxml.etree.SubElement(paramdef, 'parameter')
# <[ ]> enclose the parameter name # <[ ]> enclose the parameter name
match2 = re.match('(.*)<\[(.*)\]>(.*)', p) match2 = re.match(r'(.*)<\[(.*)\]>(.*)', p)
if verbose: if verbose:
print(match2.groups(), file=sys.stderr) print(match2.groups(), file=sys.stderr)
@ -472,16 +472,16 @@ def line_markup_convert(p):
# also convert some simple texinfo markup # also convert some simple texinfo markup
# convert @emph{foo} to <emphasis>foo</emphasis> # convert @emph{foo} to <emphasis>foo</emphasis>
s = re.sub('@emph{(.*?)}', '<emphasis>\\1</emphasis>', s) s = re.sub(r'@emph{(.*?)}', r'<emphasis>\1</emphasis>', s)
# convert @strong{foo} to <emphasis role=strong>foo</emphasis> # convert @strong{foo} to <emphasis role=strong>foo</emphasis>
s = re.sub('@strong{(.*?)}', '<emphasis role="strong">\\1</emphasis>', s) s = re.sub(r'@strong{(.*?)}', r'<emphasis role="strong">\1</emphasis>', s)
# convert @minus{} to U+2212 MINUS SIGN # convert @minus{} to U+2212 MINUS SIGN
s = s.replace('@minus{}', '&#x2212;') s = s.replace('@minus{}', '&#x2212;')
# convert @dots{} to U+2026 HORIZONTAL ELLIPSIS # convert @dots{} to U+2026 HORIZONTAL ELLIPSIS
s = s.replace('@dots{}', '&#x2026;') s = s.replace('@dots{}', '&#x2026;')
# convert xref and pxref # convert xref and pxref
s = re.sub('@xref{(.*?)}', "See <xref linkend='\\1'/>", s) s = re.sub(r'@xref{(.*?)}', r"See <xref linkend='\1'/>", s)
# very hacky way of dealing with @* to force a newline # very hacky way of dealing with @* to force a newline
s = s.replace('@*', '</para><para>') s = s.replace('@*', '</para><para>')
@ -562,7 +562,7 @@ def t_TABLEEND(t):
def t_ITEM(t): def t_ITEM(t):
r'o\s.*\n' r'o\s.*\n'
t.value = re.sub('o\s', '', lexer.lexmatch.group(0), 1) t.value = re.sub(r'o\s', r'', lexer.lexmatch.group(0), 1)
t.value = line_markup_convert(t.value) t.value = line_markup_convert(t.value)
return t return t
@ -828,7 +828,7 @@ def main(file):
print(s) print(s)
# warn about texinfo commands which didn't get processed # warn about texinfo commands which didn't get processed
match = re.search('@[a-z*]+', s) match = re.search(r'@[a-z*]+', s)
if match: if match:
print('texinfo command %s remains in output' % match.group(), file=sys.stderr) print('texinfo command %s remains in output' % match.group(), file=sys.stderr)