URI: 
       tRevert "Revert "Daemon network cleanup"" - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 5e6a55edd58940bd1d377a9bb26d42df48c60446
   DIR parent 012f500976d326a27d523de6dc5ecd123fef4125
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Sat, 30 Jan 2016 11:13:11 +0100
       
       Revert "Revert "Daemon network cleanup""
       
       This reverts commit 2c7b10a776ecdc8ded11a5a168e30e7a4087b6fb.
       
       Diffstat:
         M electrum                            |      15 +++------------
         M lib/daemon.py                       |      13 ++++++++++---
       
       2 files changed, 13 insertions(+), 15 deletions(-)
       ---
   DIR diff --git a/electrum b/electrum
       t@@ -328,13 +328,7 @@ if __name__ == '__main__':
                if server is not None:
                    result = server.gui(config_options)
                else:
       -            if not config.get('offline'):
       -                network = Network(config)
       -                network.start()
       -            else:
       -                network = None
       -            daemon = Daemon(config, network)
       -            daemon.start()
       +            daemon = Daemon(config)
                    gui = init_gui(config, daemon, plugins)
                    daemon.gui = gui
                    gui.main()
       t@@ -351,15 +345,12 @@ if __name__ == '__main__':
                    elif subcommand == 'start':
                        p = os.fork()
                        if p == 0:
       -                    network = Network(config)
       -                    network.start()
       -                    daemon = Daemon(config, network)
       +                    daemon = Daemon(config)
                            if config.get('websocket_server'):
                                from electrum import websockets
       -                        websockets.WebSocketServer(config, network).start()
       +                        websockets.WebSocketServer(config, daemon.network).start()
                            if config.get('requests_dir'):
                                util.check_www_dir(config.get('requests_dir'))
       -                    daemon.start()
                            daemon.join()
                            sys.exit(0)
                        else:
   DIR diff --git a/lib/daemon.py b/lib/daemon.py
       t@@ -26,7 +26,7 @@ from wallet import WalletStorage, Wallet
        from wizard import WizardBase
        from commands import known_commands, Commands
        from simple_config import SimpleConfig
       -
       +from network import Network
        
        def lockfile(config):
            return os.path.join(config.path, 'daemon')
       t@@ -62,10 +62,16 @@ class RequestHandler(SimpleJSONRPCRequestHandler):
        
        class Daemon(DaemonThread):
        
       -    def __init__(self, config, network):
       +    def __init__(self, config):
                DaemonThread.__init__(self)
                self.config = config
       -        self.network = network
       +        if not config.get('offline'):
       +            self.network = Network(config)
       +            self.network.start()
       +        else:
       +            # FIXME: some of the daemon code assumes self.network is not None
       +            # This is not something this change has introduced
       +            self.network = None
                self.gui = None
                self.wallets = {}
                self.wallet = None
       t@@ -82,6 +88,7 @@ class Daemon(DaemonThread):
                self.server.register_function(self.ping, 'ping')
                self.server.register_function(self.run_daemon, 'daemon')
                self.server.register_function(self.run_gui, 'gui')
       +        self.start()
        
            def ping(self):
                return True