gh-104683: Argument clinic: Minor readability improvements for `Destination.__init__` (#106652)

This commit is contained in:
Alex Waygood 2023-07-12 00:08:28 +01:00 committed by GitHub
parent de827322ca
commit 7ce3ea4906
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 5 deletions

View File

@ -1959,14 +1959,19 @@ class Destination:
self.name = name self.name = name
self.type = type self.type = type
self.clinic = clinic self.clinic = clinic
self.buffers = BufferSeries()
valid_types = ('buffer', 'file', 'suppress') valid_types = ('buffer', 'file', 'suppress')
if type not in valid_types: if type not in valid_types:
fail("Invalid destination type " + repr(type) + " for " + name + " , must be " + ', '.join(valid_types)) fail(
f"Invalid destination type {type!r} for {name}, "
f"must be {', '.join(valid_types)}"
)
extra_arguments = 1 if type == "file" else 0 extra_arguments = 1 if type == "file" else 0
if len(args) < extra_arguments: if len(args) < extra_arguments:
fail("Not enough arguments for destination " + name + " new " + type) fail(f"Not enough arguments for destination {name} new {type}")
if len(args) > extra_arguments: if len(args) > extra_arguments:
fail("Too many arguments for destination " + name + " new " + type) fail(f"Too many arguments for destination {name} new {type}")
if type =='file': if type =='file':
d = {} d = {}
filename = clinic.filename filename = clinic.filename
@ -1979,8 +1984,6 @@ class Destination:
d['basename_root'], d['basename_extension'] = os.path.splitext(filename) d['basename_root'], d['basename_extension'] = os.path.splitext(filename)
self.filename = args[0].format_map(d) self.filename = args[0].format_map(d)
self.buffers = BufferSeries()
def __repr__(self): def __repr__(self):
if self.type == 'file': if self.type == 'file':
file_repr = " " + repr(self.filename) file_repr = " " + repr(self.filename)