From 6ce8e018012d47ca28b204dc5523e1732c31f34b Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Wed, 14 Aug 2019 17:53:33 -0400 Subject: [PATCH] py3: use for loop/hardcode instead of map to process many arguments Even though we adapted to python3 by using a tuple to ensure the function is actually applied, this still uses a surprising language feature then allocate a tuple that is immediately tossed away. --- src/calibre/gui2/actions/add.py | 3 ++- src/calibre/gui2/actions/device.py | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py index d833efcb78..8e41690e2c 100644 --- a/src/calibre/gui2/actions/add.py +++ b/src/calibre/gui2/actions/add.py @@ -331,7 +331,8 @@ def add_empty(self, *args): create_book(mi, pt.name, fmt=empty_format) fmts = [pt.name] ids.append(db.import_book(mi, fmts)) - tuple(map(os.remove, orig_fmts)) + for path in orig_fmts: + os.remove(path) self.refresh_gui(num) if ids: ids.reverse() diff --git a/src/calibre/gui2/actions/device.py b/src/calibre/gui2/actions/device.py index 99769c5cba..a71d7ebeb3 100644 --- a/src/calibre/gui2/actions/device.py +++ b/src/calibre/gui2/actions/device.py @@ -12,7 +12,7 @@ from calibre.gui2.dialogs.smartdevice import SmartdeviceDialog from calibre.utils.icu import primary_sort_key from calibre.utils.smtp import config as email_config -from polyglot.builtins import unicode_type, map +from polyglot.builtins import unicode_type class ShareConnMenu(QMenu): # {{{ @@ -111,7 +111,8 @@ def sk(account): (alias or account) + ' ' + _('(delete from library)')) self.email_to_menu.addAction(action1) self.email_to_and_delete_menu.addAction(action2) - tuple(map(self.memory.append, (action1, action2))) + self.memory.append(action1) + self.memory.append(action2) if default: ac = DeviceAction(dest, False, False, I('mail.png'), _('Email to') + ' ' +(alias or @@ -127,12 +128,14 @@ def sk(account): _('Select recipients') + ' ' + _('(delete from library)')) self.email_to_menu.addAction(action1) self.email_to_and_delete_menu.addAction(action2) - tuple(map(self.memory.append, (action1, action2))) + self.memory.append(action1) + self.memory.append(action2) tac1 = DeviceAction('choosemail:', False, False, I('mail.png'), _('Email to selected recipients...')) self.addAction(tac1) tac1.a_s.connect(sync_menu.action_triggered) - self.memory.append(tac1), self.email_actions.append(tac1) + self.memory.append(tac1) + self.email_actions.append(tac1) ac = self.addMenu(self.email_to_and_delete_menu) self.email_actions.append(ac) action1.a_s.connect(sync_menu.action_triggered)