tadd filtering options for listrequests - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit cbcb799eec9d4d992269ed7f6808e821a3e8ff0a DIR parent 21f505a62c45c607045b63f030431d7ef4e6a7e2 HTML Author: ThomasV <thomasv@gitorious> Date: Fri, 12 Jun 2015 09:46:21 +0200 add filtering options for listrequests Diffstat: M lib/commands.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) --- DIR diff --git a/lib/commands.py b/lib/commands.py t@@ -33,6 +33,7 @@ import bitcoin from bitcoin import is_address, hash_160_to_bc_address, hash_160, COIN from transaction import Transaction import paymentrequest +from paymentrequest import PR_PAID, PR_UNPAID, PR_UNKNOWN, PR_EXPIRED known_commands = {} t@@ -518,7 +519,6 @@ class Commands: return self.wallet.decrypt_message(pubkey, encrypted, self.password) def _format_request(self, out): - from paymentrequest import PR_PAID, PR_UNPAID, PR_UNKNOWN, PR_EXPIRED pr_str = { PR_UNKNOWN: 'Unknown', PR_UNPAID: 'Pending', t@@ -543,9 +543,20 @@ class Commands: # pass @command('w') - def listrequests(self): + def listrequests(self, pending=False, expired=False, paid=False): """List the payment requests you made.""" - return map(self._format_request, self.wallet.get_sorted_requests(self.config)) + out = self.wallet.get_sorted_requests(self.config) + if pending: + f = PR_UNPAID + elif expired: + f = PR_EXPIRED + elif paid: + f = PR_PAID + else: + f = None + if f: + out = filter(lambda x: x.get('status')==f, out) + return map(self._format_request, out) @command('w') def addrequest(self, requested_amount, memo='', expiration=60*60, force=False): t@@ -610,8 +621,10 @@ command_options = { 'account': (None, "--account", "Account"), 'memo': ("-m", "--memo", "Description of the request"), 'expiration': (None, "--expiration", "Time in seconds"), - 'status': (None, "--status", "Show status"), 'force': (None, "--force", "Create new address beyong gap limit, if no more address is available."), + 'pending': (None, "--pending", "Show only pending requests."), + 'expired': (None, "--expired", "Show only expired requests."), + 'paid': (None, "--paid", "Show only paid requests."), }