From 4219022c2ee08eb635204eacfeabcf66059fb602 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Sun, 23 Apr 2023 02:23:40 +0000 Subject: [PATCH] fix flake8-bugbear B023 B023 Function definition does not bind loop variable 'already_selected_buckets_value_sum' in keepkey/qt.py, looks like this was an actual bug (fixed in trezor plugin already: https://github.com/spesmilo/electrum/commit/52a4810752c37312aeb7cb4739b5462dfdde2c58 ) --- electrum/coinchooser.py | 6 +++++- electrum/daemon.py | 5 ++++- electrum/plugins/keepkey/qt.py | 2 +- electrum/plugins/ledger/ledger.py | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/electrum/coinchooser.py b/electrum/coinchooser.py index 67137b693..e59e3e6d7 100644 --- a/electrum/coinchooser.py +++ b/electrum/coinchooser.py @@ -410,7 +410,11 @@ class CoinChooserRandom(CoinChooserBase): for bkts_choose_from in bucket_sets: try: - def sfunds(bkts, *, bucket_value_sum): + def sfunds( + bkts, *, bucket_value_sum, + already_selected_buckets_value_sum=already_selected_buckets_value_sum, + already_selected_buckets=already_selected_buckets, + ): bucket_value_sum += already_selected_buckets_value_sum return sufficient_funds(already_selected_buckets + bkts, bucket_value_sum=bucket_value_sum) diff --git a/electrum/daemon.py b/electrum/daemon.py index 2a10b106a..674e143bc 100644 --- a/electrum/daemon.py +++ b/electrum/daemon.py @@ -110,6 +110,7 @@ def request(config: SimpleConfig, endpoint, args=(), timeout=60): lockfile = get_lockfile(config) while True: create_time = None + path = None try: with open(lockfile) as f: socktype, address, create_time = ast.literal_eval(f.read()) @@ -127,7 +128,9 @@ def request(config: SimpleConfig, endpoint, args=(), timeout=60): server_url = 'http://%s:%d' % (host, port) auth = aiohttp.BasicAuth(login=rpc_user, password=rpc_password) loop = util.get_asyncio_loop() - async def request_coroutine(): + async def request_coroutine( + *, socktype=socktype, path=path, auth=auth, server_url=server_url, endpoint=endpoint, + ): if socktype == 'unix': connector = aiohttp.UnixConnector(path=path) elif socktype == 'tcp': diff --git a/electrum/plugins/keepkey/qt.py b/electrum/plugins/keepkey/qt.py index 00c893e91..7ea74b372 100644 --- a/electrum/plugins/keepkey/qt.py +++ b/electrum/plugins/keepkey/qt.py @@ -201,7 +201,7 @@ class QtPlugin(QtPluginBase): return for keystore in wallet.get_keystores(): if type(keystore) == self.keystore_class: - def show_address(): + def show_address(keystore=keystore): keystore.thread.add(partial(self.show_address, wallet, addrs[0], keystore)) device_name = "{} ({})".format(self.device, keystore.label) menu.addAction(_("Show on {}").format(device_name), show_address) diff --git a/electrum/plugins/ledger/ledger.py b/electrum/plugins/ledger/ledger.py index 1b1ba4232..0e4245f74 100644 --- a/electrum/plugins/ledger/ledger.py +++ b/electrum/plugins/ledger/ledger.py @@ -1171,7 +1171,7 @@ class Ledger_Client_New(Ledger_Client): registered_hmac, ) else: - def process_origin(origin: KeyOriginInfo) -> None: + def process_origin(origin: KeyOriginInfo, *, script_addrtype=script_addrtype) -> None: if is_standard_path(origin.path, script_addrtype, get_chain()): # these policies do not need to be registered policy = self.get_singlesig_default_wallet_policy(script_addrtype, origin.path[2])