tinit plugins only if needed - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 9efbb57766bb0ed8e92e470528bfc07036b647c4 DIR parent ddc1869551aa42f4e65da72700bc91e90beaf873 HTML Author: ThomasV <thomasv@electrum.org> Date: Mon, 1 Feb 2016 22:09:55 +0100 init plugins only if needed Diffstat: M electrum | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) --- DIR diff --git a/electrum b/electrum t@@ -72,7 +72,6 @@ if is_bundle or is_local or is_android: from electrum import SimpleConfig, Network, Wallet, WalletStorage from electrum.util import print_msg, print_stderr, json_encode, json_decode from electrum.util import set_verbosity, InvalidPassword -from electrum.plugins import Plugins from electrum.commands import get_parser, known_commands, Commands, config_variables from electrum import daemon t@@ -243,6 +242,9 @@ def run_offline_command(config, config_options): wallet.storage.write() return result +def init_plugins(config, gui_name): + from electrum.plugins import Plugins + return Plugins(config, is_bundle or is_local or is_android, gui_name) if __name__ == '__main__': t@@ -303,10 +305,6 @@ if __name__ == '__main__': config = SimpleConfig(config_options) cmdname = config.get('cmd') - # initialize plugins. - gui_name = config.get('gui', 'qt') if cmdname == 'gui' else 'cmdline' - plugins = Plugins(config, is_bundle or is_local or is_android, gui_name) - # run non-RPC commands separately if cmdname in ['create', 'restore', 'deseed']: run_non_RPC(config) t@@ -315,6 +313,7 @@ if __name__ == '__main__': if cmdname == 'gui': fd, server = daemon.get_fd_or_server(config) if fd is not None: + plugins = init_plugins(config, config.get('gui', 'qt')) d = daemon.Daemon(config, fd) d.start() d.init_gui(config, plugins) t@@ -332,6 +331,7 @@ if __name__ == '__main__': if pid: print_stderr("starting daemon (PID %d)" % pid) sys.exit(0) + init_plugins(config, 'cmdline') d = daemon.Daemon(config, fd) d.start() if config.get('websocket_server'): t@@ -362,6 +362,7 @@ if __name__ == '__main__': print_msg("Daemon not running; try 'electrum daemon start'") sys.exit(1) else: + init_plugins(config, 'cmdline') result = run_offline_command(config, config_options) # print result