def show_address(): addr = str(receive_address_e.text()) # note: 'addr' could be ln invoice or BIP21 URI try: uri = parse_URI(addr) except InvalidBitcoinURI: pass else: addr = uri.get('address') keystore.thread.add(partial(plugin.show_address, wallet, addr, keystore))
def set_bip21(self, text: str): try: uri = parse_URI(text, self.app.on_pr, loop=self.app.asyncio_loop) except InvalidBitcoinURI as e: self.app.show_info(_("Error parsing URI") + f":\n{e}") return self.parsed_URI = uri amount = uri.get('amount') self.address = uri.get('address', '') self.message = uri.get('message', '') self.amount = self.app.format_amount_and_units( amount) if amount else '' self.is_max = False self.payment_request = None self.is_lightning = False
def set_URI(self, text): if not self.app.wallet: self.payment_request_queued = text return try: uri = parse_URI(text, self.app.on_pr, loop=self.app.asyncio_loop) except InvalidBitcoinURI as e: self.app.show_info(_("Error parsing URI") + f":\n{e}") return amount = uri.get('amount') self.screen.address = uri.get('address', '') self.screen.message = uri.get('message', '') self.screen.amount = self.app.format_amount_and_units( amount) if amount else '' self.payment_request = None self.screen.is_pr = False
def _do_test_parse_URI(self, uri, expected): result = parse_URI(uri) self.assertEqual(expected, result)