From 04a37cdf3ba21a55f2d2a10729da1348c3697d0b Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Mon, 26 Aug 2019 23:48:50 -0400 Subject: [PATCH] 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. --- src/calibre/gui2/convert/bulk.py | 3 +-- src/calibre/gui2/convert/single.py | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/convert/bulk.py b/src/calibre/gui2/convert/bulk.py index 57fe421a17..bbd3d685ee 100644 --- a/src/calibre/gui2/convert/bulk.py +++ b/src/calibre/gui2/convert/bulk.py @@ -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): diff --git a/src/calibre/gui2/convert/single.py b/src/calibre/gui2/convert/single.py index c3db4fff35..3efe17ca1e 100644 --- a/src/calibre/gui2/convert/single.py +++ b/src/calibre/gui2/convert/single.py @@ -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))