docs: kdoc_re: better show KernRe() at documentation

the __repr__() function is used by autodoc to document macro
initialization.

Add a better representation for them.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <80d27732368c14125c1b76048a70d8b4aee527ef.1772469446.git.mchehab+huawei@kernel.org>
This commit is contained in:
Mauro Carvalho Chehab
2026-03-02 17:40:54 +01:00
committed by Jonathan Corbet
parent 97d4e70bc2
commit 95a9429cc6

View File

@@ -52,7 +52,28 @@ class KernRe:
return self.regex.pattern
def __repr__(self):
return f're.compile("{self.regex.pattern}")'
"""
Returns a displayable version of the class init.
"""
flag_map = {
re.IGNORECASE: "re.I",
re.MULTILINE: "re.M",
re.DOTALL: "re.S",
re.VERBOSE: "re.X",
}
flags = []
for flag, name in flag_map.items():
if self.regex.flags & flag:
flags.append(name)
flags_name = " | ".join(flags)
if flags_name:
return f'KernRe("{self.regex.pattern}", {flags_name})'
else:
return f'KernRe("{self.regex.pattern}")'
def __add__(self, other):
"""