Fixed Line input

This commit is contained in:
dabura667 2014-09-06 02:05:30 +09:00
parent cec18fb7fe
commit 4cc52ce110
1 changed files with 16 additions and 1 deletions

View File

@ -23,6 +23,7 @@ from qrtextedit import QRTextEdit
import re
from decimal import Decimal
from electrum import bitcoin
from electrum.i18n import _
RE_ADDRESS = '[1-9A-HJ-NP-Za-km-z]{26,}'
RE_ALIAS = '(.*?)\s*\<([1-9A-HJ-NP-Za-km-z]{26,})\>'
@ -114,15 +115,29 @@ class PayToEdit(QRTextEdit):
self.unlock_amount()
return
for line in lines:
errors = []
errtext = ""
for i, line in enumerate(lines):
try:
type, to_address, amount = self.parse_address_and_amount(line)
except:
x, y = line.split(',')
r = x.strip()
m = re.match('^'+RE_ALIAS+'$', r)
address = m.group(2) if m else r
errors.append((i, address))
continue
outputs.append((type, to_address, amount))
total += amount
if errors != []:
for x in errors:
errtext += "Line #" + str(x[0]+1) + ": " + x[1] + "\n"
QMessageBox.critical(None, _("Invalid Addresses"), _("ABORTING! Invalid Addresses found:") + "\n\n" + errtext)
self.clear()
return
self.outputs = outputs
self.payto_address = None