URI: 
       tlightning: do not catch BaseException unnecessarily, fix clearSubscribers, detect passworded wallet correctly - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ec89b496bf33f980412ee2f6b1ea1d66f9713cc4
   DIR parent fe1a1b27c6a29a8ec615e3a4db07e959571b8d69
  HTML Author: Janus <ysangkok@gmail.com>
       Date:   Fri,  6 Apr 2018 12:17:39 +0200
       
       lightning: do not catch BaseException unnecessarily, fix clearSubscribers, detect passworded wallet correctly
       
       Diffstat:
         M lib/lightning.py                    |      12 ++++++------
       
       1 file changed, 6 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/lib/lightning.py b/lib/lightning.py
       t@@ -619,7 +619,7 @@ class LightningRPC:
                        resolvedMethod = getattr(client, qitem.methodName)
                        try:
                            result = resolvedMethod(lightningSessionKey, *argumentStrings)
       -                except BaseException as e:
       +                except Exception as e:
                            traceback.print_exc()
                            for i in self.subscribers: applyMethodName(i)(e)
                            raise
       t@@ -629,7 +629,7 @@ class LightningRPC:
                            assert result["stderr"] == "" and result["returncode"] == 0, "LightningRPC detected error: " + result["stderr"]
                            toprint = json.loads(result["stdout"])
                            for i in self.subscribers: applyMethodName(i)(toprint)
       -                except BaseException as e:
       +                except Exception as e:
                            traceback.print_exc()
                            for i in self.subscribers: applyMethodName(i)(e)
                        if self.console:
       t@@ -639,7 +639,7 @@ class LightningRPC:
                self.console = console
            def subscribe(self, notifyFunction):
                self.subscribers.append(notifyFunction)
       -    def clearSubscribers():
       +    def clearSubscribers(self):
                self.subscribers = []
        
        def lightningCall(rpc, methodName):
       t@@ -670,9 +670,9 @@ class LightningWorker:
                assert hasattr(ks, "xprv"), "Wallet must have xprv, can't be e.g. imported"
                try:
                    xprv = ks.get_master_private_key(None)
       +            xprv, xpub = bitcoin.bip32_private_derivation(xprv, "m/", "m/152/152/152/152")
                except:
       -            raise BaseException("Could not get master private key, is the wallet password protected?")
       -        xprv, xpub = bitcoin.bip32_private_derivation(xprv, "m/", "m/152/152/152/152")
       +            raise Exception("Could not get master private key, is the wallet password protected?")
                tupl = bitcoin.deserialize_xprv(xprv)
                privKey = tupl[-1]
                assert type(privKey) is type(bytes([]))
       t@@ -774,7 +774,7 @@ async def readReqAndReply(obj, writer, netAndWalLock):
                        netAndWalLock.release()
                        found = True
                        break
       -    except BaseException as e:
       +    except Exception as e:
                traceback.print_exc()
                print("exception while calling method", obj["method"])
                writer.write(json.dumps({"id":obj["id"],"error": {"code": -32002, "message": traceback.format_exc()}}).encode("ascii") + b"\n")