simplify building list of input/output formats

QComboBox.addItems() accepts any iterable, and there's no reason to use
map plus a list comprehension to operate on the same data.

- input_formats will currently be lowercase, output_formats is uppercase.
  Without documenting this inconsistent internal API, don't rely on it.

- While all builtin output plugins should have unicode_literals compatible
  file_type attributes, at least this assumption might break for custom
  plugins, so continue mapping to unicode_type.

Well, at least we can reduce the number of allocated lists.
This commit is contained in:
Eli Schwartz 2019-08-26 23:48:50 -04:00
parent 62a4659148
commit 04a37cdf3b
No known key found for this signature in database
GPG Key ID: CEB167EFB5722BD6
2 changed files with 3 additions and 6 deletions

View File

@ -125,8 +125,7 @@ class BulkConfig(Config):
preferred_output_format and preferred_output_format \
in output_formats else sort_formats_by_preference(output_formats,
[prefs['output_format']])[0]
self.output_formats.addItems(list(map(unicode_type, [x.upper() for x in
output_formats])))
self.output_formats.addItems((unicode_type(x.upper()) for x in output_formats))
self.output_formats.setCurrentIndex(output_formats.index(preferred_output_format))
def accept(self):

View File

@ -284,10 +284,8 @@ class Config(QDialog):
preferred_output_format in output_formats else \
sort_formats_by_preference(output_formats,
[prefs['output_format']])[0]
self.input_formats.addItems(list(map(unicode_type, [x.upper() for x in
input_formats])))
self.output_formats.addItems(list(map(unicode_type, [x.upper() for x in
output_formats])))
self.input_formats.addItems((unicode_type(x.upper()) for x in input_formats))
self.output_formats.addItems((unicode_type(x.upper()) for x in output_formats))
self.input_formats.setCurrentIndex(input_formats.index(input_format))
self.output_formats.setCurrentIndex(output_formats.index(preferred_output_format))