URI: 
       tMerge pull request #582 from dabura667/csvaddresserr - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit e34c14ee78662311cc776323b5ee07fa31f82c02
   DIR parent 0d4b36b28a88609d3a3fb8fe33e6879c89bc1152
  HTML Author: ThomasV <thomasv1@gmx.de>
       Date:   Thu, 27 Feb 2014 14:12:08 +0100
       
       Merge pull request #582 from dabura667/csvaddresserr
       
       CSV: Show erroneous addresses in warning window.
       Diffstat:
         M gui/qt/main_window.py               |      12 +++++++++++-
         M lib/wallet.py                       |       2 +-
       
       2 files changed, 12 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -1904,15 +1904,25 @@ class ElectrumWindow(QMainWindow):
        
            def do_process_from_csvReader(self, csvReader):
                outputs = []
       +        errors = []
       +        errtext = ""
                try:
       -            for row in csvReader:
       +            for position, row in enumerate(csvReader):
                        address = row[0]
       +                if not is_valid(address):
       +                    errors.append((position, address))
       +                    continue
                        amount = Decimal(row[1])
                        amount = int(100000000*amount)
                        outputs.append((address, amount))
                except (ValueError, IOError, os.error), reason:
                    QMessageBox.critical(None, _("Unable to read file or no transaction found"), _("Electrum was unable to open your transaction file") + "\n" + str(reason))
                    return
       +        if errors != []:
       +            for x in errors:
       +                errtext += "CSV Row " + str(x[0]+1) + ": " + x[1] + "\n"
       +            QMessageBox.critical(None, _("Invalid Addresses"), _("ABORTING! Invalid Addresses found:") + "\n\n" + errtext)
       +            return
        
                try:
                    tx = self.wallet.make_unsigned_transaction(outputs, None, None)
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -1262,7 +1262,7 @@ class NewWallet:
        
            def make_unsigned_transaction(self, outputs, fee=None, change_addr=None, domain=None ):
                for address, x in outputs:
       -            assert is_valid(address)
       +            assert is_valid(address), "Address " + address + " is invalid!"
                amount = sum( map(lambda x:x[1], outputs) )
                inputs, total, fee = self.choose_tx_inputs( amount, fee, domain )
                if not inputs: