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
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
2 changed files with
8 additions and
9 deletions
-
electrum/commands.py
-
electrum/gui/qt/main_window.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() |
|
|
|
|
|
@ -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) |
|
|
|