예제 #1
0
파일: main.py 프로젝트: khalahan/spesmilo
 def stop(self, doQuit = True):
     try:
         self.refresh_state_timer.stop()
         if SpesmiloSettings.useInternalCore() and self.core:
             # Keep looping until connected so we can issue the stop command
             while True:
                 try:
                     self.core.stop()
                 except core_interface.JSONRPCException:
                     pass
                 except IOError:
                     break
                 except socket.error:
                     break
                 except:
                     raise
                 else:
                     break
     # Re-proprogate exception & trigger app exit so we can break out
     except:
         raise
     finally:
         self.core = None
         if hasattr(self, 'ipcsrv'):
             try:
                 self.ipcsrv.stop()
             except:
                 pass
         if doQuit:
             qApp.quit()
예제 #2
0
파일: main.py 프로젝트: khalahan/spesmilo
def _startup(rootwindow, *args, **kwargs):
    if SpesmiloSettings.useInternalCore():
        import os
        user, passwd, port = SpesmiloSettings.getInternalCoreAuth()
        cmd = ('bitcoind', '-rpcuser=%s' % (user,), '-rpcpassword=%s' % (passwd,), '-rpcallowip=127.0.0.1', '-rpcport=%d' % (port,))
        if len(args):
            options = args[0]
            cmd += options.bitcoind
        quietPopen(cmd)
        import ipc
        ipcsrv = ipc.ipc_handler('Bitcoin')
        ipcsrv.have_uri.connect(lambda x: receive_uri(rootwindow, x), Qt.QueuedConnection)
        ipcsrv.start()
        rootwindow.ipcsrv = ipcsrv
    rootwindow.start(*args, **kwargs)
예제 #3
0
파일: main.py 프로젝트: khalahan/spesmilo
                    help=app.tr('Pass remaining arguments to bitcoind (internal core only)'))

    args = app.arguments()
    # Workaround PySide/Windows bug
    if sys.argv[0] in args:
        i = args.index(sys.argv[0])
        if i:
            args[0:i] = ()
    # Workaround KDE bug
    if '-icon' in args:
        args[args.index('-icon')] = '--icon'
    (options, args) = argp.parse_args(args)
    args[0:1] = ()

    if args or options.send:
        if SpesmiloSettings.useInternalCore():
            try:
                import ipc
                ipc.ipc_send('Bitcoin', args[0] if args else 'bitcoin:')
                exit(0)
            except Exception:
                pass
        rootwindow = send.SendDialog(autostart=False)
    else:
        app.setQuitOnLastWindowClosed(False)
        rootwindow = RootWindow()
        rootwindow.setup(options, args)

    if SpesmiloSettings.isConfigured():
        _startup(rootwindow, options, args)
    else: