def __init__(self, config, fd): DaemonThread.__init__(self) self.config = config if config.get('offline'): self.network = None else: self.network = Network(config) self.network.start() self.gui = None self.wallets = {} # Setup server cmd_runner = Commands(self.config, None, self.network) host = config.get('rpchost', 'localhost') port = config.get('rpcport', 0) server = SimpleJSONRPCServer((host, port), logRequests=False, requestHandler=RequestHandler) os.write(fd, repr((server.socket.getsockname(), time.time()))) os.close(fd) server.timeout = 0.1 for cmdname in known_commands: server.register_function(getattr(cmd_runner, cmdname), cmdname) server.register_function(self.run_cmdline, 'run_cmdline') server.register_function(self.ping, 'ping') server.register_function(self.run_daemon, 'daemon') server.register_function(self.run_gui, 'gui') self.server = server
def __init__(self, config, is_local, gui_name): DaemonThread.__init__(self) if is_local: find = imp.find_module('plugins') plugins = imp.load_module('electrum_plugins', *find) else: plugins = __import__('electrum_plugins') self.pkgpath = os.path.dirname(plugins.__file__) self.config = config self.hw_wallets = {} self.plugins = {} self.gui_name = gui_name self.descriptions = [] for loader, name, ispkg in pkgutil.iter_modules([self.pkgpath]): m = loader.find_module(name).load_module(name) d = m.__dict__ gui_good = gui_name in d.get('available_for', []) details = d.get('registers_wallet_type') if details: self.register_plugin_wallet(name, gui_good, details) if not gui_good: continue self.descriptions.append(d) if not d.get('requires_wallet_type') and config.get('use_' + name): self.load_plugin(config, name)
def __init__(self, config, is_local, gui_name): DaemonThread.__init__(self) if is_local: find = imp.find_module('plugins') plugins = imp.load_module('electrum_plugins', *find) else: plugins = __import__('electrum_plugins') self.pkgpath = os.path.dirname(plugins.__file__) self.config = config self.hw_wallets = {} self.plugins = {} self.gui_name = gui_name self.descriptions = {} self.device_manager = DeviceMgr() self.load_plugins() self.start()
def __init__(self, config, fd): DaemonThread.__init__(self) self.config = config if config.get('offline'): self.network = None else: self.network = Network(config) self.network.start() self.gui = None self.wallets = {} # Setup JSONRPC server path = config.get_wallet_path() default_wallet = self.load_wallet(path) self.cmd_runner = Commands(self.config, default_wallet, self.network) self.init_server(config, fd)
def __init__(self, config, is_local, gui_name): DaemonThread.__init__(self) if is_local: find = imp.find_module('plugins') plugins = imp.load_module('electrum_plugins', *find) else: plugins = __import__('electrum_plugins') self.pkgpath = os.path.dirname(plugins.__file__) self.config = config self.hw_wallets = {} self.plugins = {} self.gui_name = gui_name self.descriptions = {} self.device_manager = DeviceMgr(config) self.load_plugins() self.add_jobs(self.device_manager.thread_jobs()) self.start()
def __init__(self, config, fd): DaemonThread.__init__(self) self.config = config if config.get('offline'): self.network = None self.fx = None else: self.network = Network(config) self.network.start() self.fx = FxThread(config, self.network) self.network.add_jobs([self.fx]) self.gui = None self.wallets = {} # Setup JSONRPC server self.cmd_runner = Commands(self.config, None, self.network) self.init_server(config, fd)
def __init__(self, config, fd, is_gui): DaemonThread.__init__(self) self.config = config if config.get('offline'): self.network = None self.fx = None else: self.network = Network(config) self.network.start() self.fx = FxThread(config, self.network) self.network.add_jobs([self.fx]) self.gui = None self.wallets = {} # Setup JSONRPC server path = config.get_wallet_path() default_wallet = self.load_wallet(path) self.init_server(config, fd, is_gui)
def __init__(self, config, network): DaemonThread.__init__(self) self.config = config self.network = network self.gui = None self.wallets = {} self.wallet = None self.cmd_runner = Commands(self.config, self.wallet, self.network) host = config.get('rpchost', 'localhost') port = config.get('rpcport', 0) self.server = SimpleJSONRPCServer((host, port), requestHandler=RequestHandler, logRequests=False) with open(lockfile(config), 'w') as f: f.write(repr(self.server.socket.getsockname())) self.server.timeout = 0.1 for cmdname in known_commands: self.server.register_function(getattr(self.cmd_runner, cmdname), cmdname) self.server.register_function(self.run_cmdline, 'run_cmdline') self.server.register_function(self.ping, 'ping') self.server.register_function(self.run_daemon, 'daemon') self.server.register_function(self.run_gui, 'gui')
def __init__(self, config, is_local, gui_name): DaemonThread.__init__(self) if is_local: find = imp.find_module('plugins') plugins = imp.load_module('electrum_plugins', *find) else: plugins = __import__('electrum_plugins') self.pkgpath = os.path.dirname(plugins.__file__) self.plugins = {} self.gui_name = gui_name self.descriptions = [] for loader, name, ispkg in pkgutil.iter_modules([self.pkgpath]): m = loader.find_module(name).load_module(name) d = m.__dict__ if gui_name not in d.get('available_for', []): continue self.descriptions.append(d) x = d.get('registers_wallet_type') if x: self.register_wallet_type(config, name, x) if not d.get('requires_wallet_type') and config.get('use_' + name): self.load_plugin(config, name)
def __init__(self, config, fd): DaemonThread.__init__(self) self.config = config if config.get('offline'): self.network = None else: self.network = Network(config) self.network.start() self.gui = None self.wallets = {} # Setup server cmd_runner = Commands(self.config, None, self.network) host = config.get('rpchost', 'localhost') port = config.get('rpcport', 0) rpc_user, rpc_password = get_rpc_credentials(config) try: server = VerifyingJSONRPCServer((host, port), rpc_user=rpc_user, rpc_password=rpc_password, logRequests=False) except Exception as e: self.print_error('Warning: cannot initialize RPC server on host', host, e) self.server = None os.close(fd) return os.write(fd, repr((server.socket.getsockname(), time.time()))) os.close(fd) server.timeout = 0.1 for cmdname in known_commands: server.register_function(getattr(cmd_runner, cmdname), cmdname) server.register_function(self.run_cmdline, 'run_cmdline') server.register_function(self.ping, 'ping') server.register_function(self.run_daemon, 'daemon') server.register_function(self.run_gui, 'gui') self.server = server server.timeout = 0.1 server.register_function(self.ping, 'ping')
def stop(self): self.print_error("stopping, removing lockfile") remove_lockfile(get_lockfile(self.config)) DaemonThread.stop(self)
def stop(self): for k, wallet in self.wallets.items(): wallet.stop_threads() DaemonThread.stop(self)