From a8693156b0709fa11c306037181e7cf9607873da Mon Sep 17 00:00:00 2001 From: Joshua Noble Date: Thu, 13 Jun 2013 20:48:55 -0400 Subject: [PATCH] Add getInboxMessageById API command --- src/bitmessagemain.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py index 8d9bc461..e347d561 100755 --- a/src/bitmessagemain.py +++ b/src/bitmessagemain.py @@ -3696,6 +3696,22 @@ class MySimpleXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':2,'receivedTime':received},indent=4, separators=(',', ': ')) data += ']}' return data + elif method == 'getInboxMessageById': + msgid = params[0].decode('hex') + v = (msgid,) + shared.sqlLock.acquire() + shared.sqlSubmitQueue.put('''SELECT toaddress, fromaddress, subject, received, message FROM inbox WHERE msgid=?''') + shared.sqlSubmitQueue.put(v) + queryreturn = shared.sqlReturnQueue.get() + shared.sqlLock.release() + data = '{"inboxMessage":[' + for row in queryreturn: + toAddress, fromAddress, subject, received, message, = row + subject = shared.fixPotentiallyInvalidUTF8Data(subject) + message = shared.fixPotentiallyInvalidUTF8Data(message) + data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':2,'receivedTime':received},indent=4, separators=(',', ': ')) + data += ']}' + return data elif method == 'trashMessage': if len(params) == 0: return 'API Error 0000: I need parameters!'