Browse Source

qt console: accept kwargs for commands.py methods

e.g. make_seed(nbits=264, segwit=True)

also allow setting "password" as a kwarg
dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
SomberNight 6 years ago
parent
commit
9547fb7b06
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 15
      electrum/commands.py
  2. 2
      electrum/gui/qt/main_window.py

15
electrum/commands.py

@ -107,21 +107,20 @@ class Commands:
self.network = network
self._callback = callback
def _run(self, method, args, password_getter):
# this wrapper is called from the python console
def _run(self, method, args, password_getter, **kwargs):
"""This wrapper is called from the Qt python console."""
cmd = known_commands[method]
if cmd.requires_password and self.wallet.has_password():
password = kwargs.get('password', None)
if (cmd.requires_password and self.wallet.has_password()
and password is None):
password = password_getter()
if password is None:
return
else:
password = None
f = getattr(self, method)
if cmd.requires_password:
result = f(*args, **{'password':password})
else:
result = f(*args)
kwargs['password'] = password
result = f(*args, **kwargs)
if self._callback:
self._callback()

2
electrum/gui/qt/main_window.py

@ -2087,7 +2087,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
c = commands.Commands(self.config, self.wallet, self.network, lambda: self.console.set_json(True))
methods = {}
def mkfunc(f, method):
return lambda *args: f(method, args, self.password_dialog)
return lambda *args, **kwargs: f(method, args, self.password_dialog, **kwargs)
for m in dir(c):
if m[0]=='_' or m in ['network','wallet','config']: continue
methods[m] = mkfunc(c._run, m)

Loading…
Cancel
Save