more json formatting
authorthomasv <thomasv@gitorious>
Wed, 27 Feb 2013 09:24:53 +0000 (10:24 +0100)
committerthomasv <thomasv@gitorious>
Wed, 27 Feb 2013 09:24:53 +0000 (10:24 +0100)
electrum
lib/commands.py

index 06a9533..d9fd3e3 100755 (executable)
--- a/electrum
+++ b/electrum
@@ -486,10 +486,12 @@ if __name__ == '__main__':
     else:
         cmd_runner = Commands(wallet, interface)
         func = eval('cmd_runner.' + cmd)
-        if password: 
-            cmd_runner.password = password
+        cmd_runner.password = password
         result = func(*args[1:])
-        util.print_json(result)
+        if type(result) == str:
+            util.print_msg(result)
+        else:
+            util.print_json(result)
             
         
 
index ebb36c3..c8a1837 100644 (file)
@@ -235,31 +235,31 @@ class Commands:
     def balance(self, addresses = []):
         if addresses == []:
             c, u = self.wallet.get_balance()
-            if u:
-                print_msg(Decimal( c ) / 100000000 , Decimal( u ) / 100000000)
-            else:
-                print_msg(Decimal( c ) / 100000000)
         else:
+            c = u = 0
             for addr in addresses:
-                c, u = wallet.get_addr_balance(addr)
-                if u:
-                    print_msg("%s %s, %s" % (addr, str(Decimal(c)/100000000), str(Decimal(u)/100000000)))
-                else:
-                    print_msg("%s %s" % (addr, str(Decimal(c)/100000000)))
+                cc, uu = wallet.get_addr_balance(addr)
+                c += cc
+                u += uu
+
+        out = { "confirmed": str(Decimal(c)/100000000) }
+        if u: out["unconfirmed"] = str(Decimal(u)/100000000)
+        return out
 
 
     def get_seed(self):
         import mnemonic
         seed = self.wallet.decode_seed(self.password)
-        print_msg(seed + ' "' + ' '.join(mnemonic.mn_encode(seed)) + '"')
+        return { "hex":seed, "mnemonic": ' '.join(mnemonic.mn_encode(seed)) }
 
     def importprivkey(self, sec):
         try:
             addr = wallet.import_key(sec,self.password)
             wallet.save()
-            print_msg("Keypair imported: ", addr)
+            out = "Keypair imported: ", addr
         except BaseException as e:
-            print_msg("Error: Keypair import failed: " + str(e))
+            out = "Error: Keypair import failed: " + str(e)
+        return out
 
 
     def sign_message(self, address, message):