change paytomany syntax: accept json data instead of csv file

This commit is contained in:
ThomasV 2015-09-09 08:47:30 +02:00
parent 0371a3dc32
commit f90ca2684e
1 changed files with 2 additions and 15 deletions

View File

@ -411,18 +411,6 @@ class Commands:
self.wallet.sign_transaction(tx, self.password)
return tx
def _read_csv(self, csvpath):
import csv
outputs = []
with open(csvpath, 'rb') as csvfile:
csvReader = csv.reader(csvfile, delimiter=',')
for row in csvReader:
address, amount = row
assert bitcoin.is_address(address)
amount = Decimal(amount)
outputs.append((address, amount))
return outputs
@command('wp')
def payto(self, destination, amount, tx_fee=None, from_addr=None, change_addr=None, nocheck=False, unsigned=False, deserialized=False, broadcast=False):
"""Create a transaction. """
@ -435,10 +423,9 @@ class Commands:
return tx.deserialize() if deserialized else tx
@command('wp')
def paytomany(self, csv_file, tx_fee=None, from_addr=None, change_addr=None, nocheck=False, unsigned=False, deserialized=False, broadcast=False):
def paytomany(self, outputs, tx_fee=None, from_addr=None, change_addr=None, nocheck=False, unsigned=False, deserialized=False, broadcast=False):
"""Create a multi-output transaction. """
domain = [from_addr] if from_addr else None
outputs = self._read_csv(csv_file)
tx = self._mktx(outputs, tx_fee, change_addr, domain, nocheck, unsigned)
if broadcast:
r, h = self.wallet.sendtx(tx)
@ -629,7 +616,7 @@ param_descriptions = {
'encrypted': 'Encrypted message',
'amount': 'Amount to be sent (in BTC). Type \'!\' to send the maximum available.',
'requested_amount': 'Requested amount (in BTC).',
'csv_file': 'CSV file of recipient, amount',
'outputs': 'list of ["address", amount]',
}
command_options = {