Browse Source

return bytes in scan_barcode

seed_v14
ThomasV 7 years ago
parent
commit
b8c7edf070
  1. 7
      gui/qt/main_window.py
  2. 3
      gui/qt/qrtextedit.py
  3. 2
      lib/qrscanner.py

7
gui/qt/main_window.py

@ -2056,14 +2056,11 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
if not data:
return
# if the user scanned a bitcoin URI
if data.startswith("bitcoin:"):
if str(data).startswith("bitcoin:"):
self.pay_to_URI(data)
return
# else if the user scanned an offline signed tx
# transactions are binary, but qrcode seems to return utf-8...
data = data.decode('utf-8')
z = bitcoin.base_decode(data, length=None, base=43)
data = bh2u(''.join(chr(ord(b)) for b in z))
data = bh2u(bitcoin.base_decode(data, length=None, base=43))
tx = self.tx_from_text(data)
if not tx:
return

3
gui/qt/qrtextedit.py

@ -61,8 +61,7 @@ class ScanQRTextEdit(ButtonsTextEdit, MessageBoxMixin):
except BaseException as e:
self.show_error(str(e))
data = ''
if type(data) != str:
data = ''
data = str(data)
self.setText(data)
return data

2
lib/qrscanner.py

@ -62,7 +62,7 @@ def scan_barcode(device='', timeout=-1, display=True, threaded=False):
return
symbol = libzbar.zbar_symbol_set_first_symbol(symbols)
data = libzbar.zbar_symbol_get_data(symbol)
return str(data)
return data
def _find_system_cameras():
device_root = "/sys/class/video4linux"

Loading…
Cancel
Save