URI: 
       tmanual merge: tc scv import by harningt - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit d2099d94e5b3ac3be5a8e09566189bb04317a8b6
   DIR parent 903e70566c7238a007e0e2e06843cea4a415d4d8
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Wed,  4 Sep 2013 10:57:15 +0200
       
       manual merge: tc scv import by harningt
       
       Diffstat:
         M gui/gui_classic.py                  |      50 +++++++++++++++++++++++++++++++
       
       1 file changed, 50 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/gui/gui_classic.py b/gui/gui_classic.py
       t@@ -21,6 +21,7 @@ from i18n import _, set_language
        from electrum.util import print_error, print_msg
        import os.path, json, ast, traceback
        import shutil
       +import StringIO
        
        
        try:
       t@@ -413,6 +414,14 @@ class ElectrumWindow(QMainWindow):
                raw_transaction_text = raw_transaction_menu.addAction(_("&From text"))
                raw_transaction_text.triggered.connect(self.do_process_from_text)
        
       +        csv_transaction_menu = wallet_menu.addMenu(_("&Load CSV transaction"))
       +
       +        csv_transaction_file = csv_transaction_menu.addAction(_("&From file"))
       +        csv_transaction_file.triggered.connect(self.do_process_from_csv_file)
       +
       +        csv_transaction_text = csv_transaction_menu.addAction(_("&From text"))
       +        csv_transaction_text.triggered.connect(self.do_process_from_csv_text)
       +
                wallet_menu.addSeparator()
        
                show_menu = wallet_menu.addMenu(_("Show"))
       t@@ -1827,6 +1836,47 @@ class ElectrumWindow(QMainWindow):
                if tx_dict: 
                    self.create_process_transaction_window(tx_dict)
        
       +    def do_process_from_csvReader(self, csvReader):
       +        outputs = []
       +        try:
       +            for row in csvReader:
       +                address = row[0]
       +                amount = float(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
       +
       +        try:
       +            tx = self.wallet.make_unsigned_transaction(outputs, None, None, account=self.current_account)
       +        except BaseException, e:
       +            self.show_message(str(e))
       +            return
       +
       +        tx_dict = tx.as_dict()
       +        self.create_process_transaction_window(tx_dict)
       +
       +    def do_process_from_csv_file(self):
       +        fileName = self.getOpenFileName(_("Select your transaction CSV"), "*.csv")
       +        if not fileName:
       +            return
       +        try:
       +            with open(fileName, "r") as f:
       +                csvReader = csv.reader(f)
       +                self.do_process_from_csvReader(csvReader)
       +        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
       +
       +    def do_process_from_csv_text(self):
       +        text = text_dialog(self, _('Input CSV'), _("CSV:"), _("Load CSV"))
       +        if not text:
       +            return
       +        f = StringIO.StringIO(text)
       +        csvReader = csv.reader(f)
       +        self.do_process_from_csvReader(csvReader)
       +
            def create_process_transaction_window(self, tx_dict):
                tx = Transaction(tx_dict["hex"])