From ad222887849bb6e10f502f06b17f28df8a86cbdf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 11 Feb 2020 10:16:29 +0530 Subject: [PATCH] py3: Fix an error when downloading books via Get Books Fixes #1862719 [TypeError: 'dict_keys' object does not support indexing](https://bugs.launchpad.net/calibre/+bug/1862719) --- src/calibre/gui2/dialogs/choose_format.py | 1 + src/calibre/gui2/store/search/search.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/dialogs/choose_format.py b/src/calibre/gui2/dialogs/choose_format.py index c9ef37118b..f8c3d54d1f 100644 --- a/src/calibre/gui2/dialogs/choose_format.py +++ b/src/calibre/gui2/dialogs/choose_format.py @@ -41,6 +41,7 @@ class ChooseFormatDialog(QDialog): bb.accepted.connect(self.accept), bb.rejected.connect(self.reject) h.addStretch(10), h.addWidget(self.buttonBox) + formats = list(formats) for format in formats: self.formats.addItem(QListWidgetItem(file_icon_provider().icon_from_ext(format.lower()), format.upper())) diff --git a/src/calibre/gui2/store/search/search.py b/src/calibre/gui2/store/search/search.py index b4a09d610a..09eb34c472 100644 --- a/src/calibre/gui2/store/search/search.py +++ b/src/calibre/gui2/store/search/search.py @@ -392,7 +392,7 @@ class SearchDialog(QDialog, Ui_Dialog): self.open_store(result) def download_book(self, result): - d = ChooseFormatDialog(self, _('Choose format to download to your library.'), result.downloads.keys()) + d = ChooseFormatDialog(self, _('Choose format to download to your library.'), list(result.downloads.keys())) if d.exec_() == d.Accepted: ext = d.format() fname = result.title[:60] + '.' + ext.lower()