]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-104683: Modernise `clinic.py` using `str.removeprefix` and `str.removesuffix`...
authorAlex Waygood <Alex.Waygood@Gmail.com>
Sat, 20 May 2023 11:08:28 +0000 (12:08 +0100)
committerGitHub <noreply@github.com>
Sat, 20 May 2023 11:08:28 +0000 (11:08 +0000)
Both methods were new in Python 3.9.

Tools/clinic/clinic.py

index 792e8e4dc03acfad91437060371647ad24ccc6a1..b00b480a684d803b465a84ec13c73ba013ba6f91 100755 (executable)
@@ -1741,7 +1741,7 @@ class BlockParser:
             # make sure to recognize stop line even if it
             # doesn't end with EOL (it could be the very end of the file)
             if line.startswith(stop_line):
-                remainder = line[len(stop_line):]
+                remainder = line.removeprefix(stop_line)
                 if remainder and not remainder.isspace():
                     fail(f"Garbage after stop line: {remainder!r}")
                 return True
@@ -1759,7 +1759,7 @@ class BlockParser:
             if body_prefix:
                 line = line.lstrip()
                 assert line.startswith(body_prefix)
-                line = line[len(body_prefix):]
+                line = line.removeprefix(body_prefix)
             input_add(line)
 
         # consume output and checksum line, if present.
@@ -2562,7 +2562,7 @@ def add_c_converter(f, name=None):
         name = f.__name__
         if not name.endswith('_converter'):
             return f
-        name = name[:-len('_converter')]
+        name = name.removesuffix('_converter')
     converters[name] = f
     return f
 
@@ -3969,7 +3969,7 @@ def add_c_return_converter(f, name=None):
         name = f.__name__
         if not name.endswith('_return_converter'):
             return f
-        name = name[:-len('_return_converter')]
+        name = name.removesuffix('_return_converter')
     return_converters[name] = f
     return f
 
@@ -5360,7 +5360,7 @@ For more information see https://docs.python.org/3/howto/clinic.html""")
                 if name in ignored:
                     continue
                 if name.endswith(suffix):
-                    ids.append((name, name[:-len(suffix)]))
+                    ids.append((name, name.removesuffix(suffix)))
                     break
         print()