disable jsonrpc commands in the GUI
This commit is contained in:
parent
0045784a58
commit
e65353c062
5
electrum
5
electrum
|
@ -372,7 +372,7 @@ if __name__ == '__main__':
|
||||||
fd, server = daemon.get_fd_or_server(config)
|
fd, server = daemon.get_fd_or_server(config)
|
||||||
if fd is not None:
|
if fd is not None:
|
||||||
plugins = init_plugins(config, config.get('gui', 'qt'))
|
plugins = init_plugins(config, config.get('gui', 'qt'))
|
||||||
d = daemon.Daemon(config, fd, is_android)
|
d = daemon.Daemon(config, fd, True)
|
||||||
d.start()
|
d.start()
|
||||||
d.init_gui(config, plugins)
|
d.init_gui(config, plugins)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
@ -393,7 +393,7 @@ if __name__ == '__main__':
|
||||||
print_stderr("starting daemon (PID %d)" % pid)
|
print_stderr("starting daemon (PID %d)" % pid)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
init_plugins(config, 'cmdline')
|
init_plugins(config, 'cmdline')
|
||||||
d = daemon.Daemon(config, fd, is_android)
|
d = daemon.Daemon(config, fd, False)
|
||||||
d.start()
|
d.start()
|
||||||
if config.get('websocket_server'):
|
if config.get('websocket_server'):
|
||||||
from electrum import websockets
|
from electrum import websockets
|
||||||
|
@ -425,7 +425,6 @@ if __name__ == '__main__':
|
||||||
else:
|
else:
|
||||||
init_plugins(config, 'cmdline')
|
init_plugins(config, 'cmdline')
|
||||||
result = run_offline_command(config, config_options)
|
result = run_offline_command(config, config_options)
|
||||||
|
|
||||||
# print result
|
# print result
|
||||||
if isinstance(result, str):
|
if isinstance(result, str):
|
||||||
print_msg(result)
|
print_msg(result)
|
||||||
|
|
|
@ -89,7 +89,7 @@ def get_server(config):
|
||||||
|
|
||||||
class Daemon(DaemonThread):
|
class Daemon(DaemonThread):
|
||||||
|
|
||||||
def __init__(self, config, fd, is_android):
|
def __init__(self, config, fd, is_gui):
|
||||||
DaemonThread.__init__(self)
|
DaemonThread.__init__(self)
|
||||||
self.config = config
|
self.config = config
|
||||||
if config.get('offline'):
|
if config.get('offline'):
|
||||||
|
@ -103,14 +103,10 @@ class Daemon(DaemonThread):
|
||||||
|
|
||||||
self.gui = None
|
self.gui = None
|
||||||
self.wallets = {}
|
self.wallets = {}
|
||||||
if not is_android:
|
|
||||||
# Setup JSONRPC server
|
# Setup JSONRPC server
|
||||||
self.cmd_runner = Commands(self.config, None, self.network)
|
self.init_server(config, fd, is_gui)
|
||||||
self.init_server(config, fd)
|
|
||||||
else:
|
|
||||||
self.server = None
|
|
||||||
|
|
||||||
def init_server(self, config, fd):
|
def init_server(self, config, fd, is_gui):
|
||||||
host = config.get('rpchost', '127.0.0.1')
|
host = config.get('rpchost', '127.0.0.1')
|
||||||
port = config.get('rpcport', 0)
|
port = config.get('rpcport', 0)
|
||||||
try:
|
try:
|
||||||
|
@ -122,14 +118,17 @@ class Daemon(DaemonThread):
|
||||||
return
|
return
|
||||||
os.write(fd, bytes(repr((server.socket.getsockname(), time.time())), 'utf8'))
|
os.write(fd, bytes(repr((server.socket.getsockname(), time.time())), 'utf8'))
|
||||||
os.close(fd)
|
os.close(fd)
|
||||||
|
self.server = server
|
||||||
server.timeout = 0.1
|
server.timeout = 0.1
|
||||||
|
server.register_function(self.ping, 'ping')
|
||||||
|
if is_gui:
|
||||||
|
server.register_function(self.run_gui, 'gui')
|
||||||
|
else:
|
||||||
|
server.register_function(self.run_daemon, 'daemon')
|
||||||
|
self.cmd_runner = Commands(self.config, None, self.network)
|
||||||
for cmdname in known_commands:
|
for cmdname in known_commands:
|
||||||
server.register_function(getattr(self.cmd_runner, cmdname), cmdname)
|
server.register_function(getattr(self.cmd_runner, cmdname), cmdname)
|
||||||
server.register_function(self.run_cmdline, 'run_cmdline')
|
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 ping(self):
|
def ping(self):
|
||||||
return True
|
return True
|
||||||
|
@ -178,12 +177,13 @@ class Daemon(DaemonThread):
|
||||||
def run_gui(self, config_options):
|
def run_gui(self, config_options):
|
||||||
config = SimpleConfig(config_options)
|
config = SimpleConfig(config_options)
|
||||||
if self.gui:
|
if self.gui:
|
||||||
if hasattr(self.gui, 'new_window'):
|
#if hasattr(self.gui, 'new_window'):
|
||||||
path = config.get_wallet_path()
|
# path = config.get_wallet_path()
|
||||||
self.gui.new_window(path, config.get('url'))
|
# self.gui.new_window(path, config.get('url'))
|
||||||
response = "ok"
|
# response = "ok"
|
||||||
else:
|
#else:
|
||||||
response = "error: current GUI does not support multiple windows"
|
# response = "error: current GUI does not support multiple windows"
|
||||||
|
response = "error: Electrum GUI already running"
|
||||||
else:
|
else:
|
||||||
response = "Error: Electrum is running in daemon mode. Please stop the daemon first."
|
response = "Error: Electrum is running in daemon mode. Please stop the daemon first."
|
||||||
return response
|
return response
|
||||||
|
|
Loading…
Reference in New Issue