trename 'addresses' command as 'listadresses'. use json syntax. - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 95dc97b39b421f1d223ad3fa1436980493df0d6a DIR parent 3960f383e02ea09a5db76ca4b3b7be833127cbea HTML Author: thomasv <thomasv@gitorious> Date: Fri, 1 Mar 2013 11:21:10 +0100 rename 'addresses' command as 'listadresses'. use json syntax. Diffstat: M electrum | 6 ++++-- M lib/bitcoin.py | 1 + M lib/commands.py | 24 ++++++++++++++---------- 3 files changed, 19 insertions(+), 12 deletions(-) --- DIR diff --git a/electrum b/electrum t@@ -63,6 +63,8 @@ def arg_parser(): parser.add_option("-o", "--offline", action="store_true", dest="offline", default=False, help="remain offline") parser.add_option("-a", "--all", action="store_true", dest="show_all", default=False, help="show all addresses") parser.add_option("-b", "--balance", action="store_true", dest="show_balance", default=False, help="show the balance at listed addresses") + parser.add_option("-l", "--labels", action="store_true", dest="show_labels", default=False, help="show the labels of listed addresses") + parser.add_option("-f", "--fee", dest="tx_fee", default="0.005", help="set tx fee") parser.add_option("-F", "--fromaddr", dest="from_addr", default=None, help="set source address for payto/mktx. if it isn't in the wallet, it will ask for the private key unless supplied in the format public_key:private_key. It's not saved in the wallet.") parser.add_option("-c", "--changeaddr", dest="change_addr", default=None, help="set the change address for payto/mktx. default is a spare address, or the source address if it's not in the wallet") t@@ -376,8 +378,8 @@ if __name__ == '__main__': elif cmd == 'createrawtransaction': args = [ cmd, json.loads(args[1]), json.loads(args[2])] - elif cmd=='addresses': - args = [cmd, options.show_all] + elif cmd=='listaddresses': + args = [cmd, options.show_all, options.show_balance, options.show_labels] elif cmd == 'setlabel': try: DIR diff --git a/lib/bitcoin.py b/lib/bitcoin.py t@@ -475,6 +475,7 @@ class Transaction: self.outputs = self.d['outputs'] self.outputs = map(lambda x: (x['address'],x['value']), self.outputs) self.input_info = None + self.is_complete = True @classmethod def from_io(klass, inputs, outputs): DIR diff --git a/lib/commands.py b/lib/commands.py t@@ -38,7 +38,7 @@ options:\n --fee, -f: set transaction fee\n --fromaddr, -s: send from address 'Broadcasts a transaction to the network. \nSyntax: sendrawtransaction <tx in hexadecimal>', 'password': "Changes your password", - 'addresses': + 'listaddresses': """Shows your list of addresses. options: -a: show all addresses, including change addresses""", t@@ -87,7 +87,7 @@ offline_commands = [ 'password', 'mktx', 'setlabel', 'contacts', 'help', 'validateaddress', 'signmessage', 'verifymessage', - 'eval', 'set', 'get', 'create', 'addresses', + 'eval', 'set', 'get', 'create', 'listaddresses', 'importprivkey', 'get_seed', 'deseed', 'freeze','unfreeze', t@@ -286,17 +286,21 @@ class Commands: return c - def addresses(self, show_all = False): + def listaddresses(self, show_all = False, show_balance = False, show_label = False): out = [] for addr in self.wallet.all_addresses(): if show_all or not self.wallet.is_change(addr): - - flags = self.wallet.get_address_flags(addr) - label = self.wallet.labels.get(addr,'') - if label: label = "\"%s\""%label - b = format_satoshis(self.wallet.get_addr_balance(addr)[0]) - m_addr = "%34s"%addr - out.append( flags + ' ' + m_addr + ' ' + b + ' ' + label ) + if show_balance or show_label: + item = { 'address': addr } + if show_balance: + item['balance'] = str(Decimal(self.wallet.get_addr_balance(addr)[0])/100000000) + if show_label: + label = self.wallet.labels.get(addr,'') + if label: + item['label'] = label + else: + item = addr + out.append( item ) return out