From 3a4ef1e81f0561ca632864de000b2c3eb0dce8ce Mon Sep 17 00:00:00 2001 From: Amos Bairn Date: Tue, 20 Aug 2013 16:42:40 -0700 Subject: [PATCH] Add listSubscriptions and listAddressbook to api listSubscriptions returns label, address and enabled for each address in the subscription list. listAddressbook return label and address for each address in the addressbook. --- src/bitmessagemain.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py index fd233bd5..78f37233 100755 --- a/src/bitmessagemain.py +++ b/src/bitmessagemain.py @@ -164,6 +164,34 @@ class MySimpleXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): streamNumber, 'enabled': shared.config.getboolean(addressInKeysFile, 'enabled')}, indent=4, separators=(',', ': ')) data += ']}' return data + elif method == 'listSubscriptions': + shared.sqlLock.acquire() + shared.sqlSubmitQueue.put('''SELECT label, address, enabled from subscriptions''') + shared.sqlSubmitQueue.put('') + queryreturn = shared.sqlReturnQueue.get() + shared.sqlLock.release() + data = '{"subscriptions":[' + for row in queryreturn: + label, address, enabled = row + if len(data) > 20: + data += ',' + data += json.dumps({'label': label, 'address': address, 'enabled': enabled}) + data += ']}' + return data + elif method == 'listAddressbook': + shared.sqlLock.acquire() + shared.sqlSubmitQueue.put('''SELECT label, address from addressbook''') + shared.sqlSubmitQueue.put('') + queryreturn = shared.sqlReturnQueue.get() + shared.sqlLock.release() + data = '{"addresses":[' + for row in queryreturn: + label, address = row + if len(data) > 20: + data += ',' + data += json.dumps({'label': label, 'address': address}) + data += ']}' + return data elif method == 'createRandomAddress': if len(params) == 0: return 'API Error 0000: I need parameters!'