Skip to content

Commit e49e9a6

Browse files
jordan@hall05.co.ukjordan@hall05.co.uk
authored andcommitted
New API command getSentMessageByAckData and modified the getAllSentMessages and getSentMessageById commands to return ackData
1 parent b2f8a76 commit e49e9a6

1 file changed

Lines changed: 24 additions & 6 deletions

File tree

src/bitmessagemain.py

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4401,18 +4401,18 @@ def _dispatch(self, method, params):
44014401
return data
44024402
elif method == 'getAllSentMessages':
44034403
shared.sqlLock.acquire()
4404-
shared.sqlSubmitQueue.put('''SELECT msgid, toaddress, fromaddress, subject, lastactiontime, message, encodingtype, status FROM sent where folder='sent' ORDER BY lastactiontime''')
4404+
shared.sqlSubmitQueue.put('''SELECT msgid, toaddress, fromaddress, subject, lastactiontime, message, encodingtype, status, ackdata FROM sent where folder='sent' ORDER BY lastactiontime''')
44054405
shared.sqlSubmitQueue.put('')
44064406
queryreturn = shared.sqlReturnQueue.get()
44074407
shared.sqlLock.release()
44084408
data = '{"sentMessages":['
44094409
for row in queryreturn:
4410-
msgid, toAddress, fromAddress, subject, lastactiontime, message, encodingtype, status = row
4410+
msgid, toAddress, fromAddress, subject, lastactiontime, message, encodingtype, status, ackdata = row
44114411
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
44124412
message = shared.fixPotentiallyInvalidUTF8Data(message)
44134413
if len(data) > 25:
44144414
data += ','
4415-
data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':encodingtype,'lastActionTime':lastactiontime,'status':status},indent=4, separators=(',', ': '))
4415+
data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':encodingtype,'lastActionTime':lastactiontime,'status':status,'ackData':ackdata.encode('hex')},indent=4, separators=(',', ': '))
44164416
data += ']}'
44174417
return data
44184418
elif method == 'getInboxMessagesByAddress':
@@ -4439,16 +4439,34 @@ def _dispatch(self, method, params):
44394439
msgid = params[0].decode('hex')
44404440
v = (msgid,)
44414441
shared.sqlLock.acquire()
4442-
shared.sqlSubmitQueue.put('''SELECT msgid, toaddress, fromaddress, subject, lastactiontime, message, encodingtype, status FROM sent WHERE msgid=?''')
4442+
shared.sqlSubmitQueue.put('''SELECT msgid, toaddress, fromaddress, subject, lastactiontime, message, encodingtype, status, ackdata FROM sent WHERE msgid=?''')
44434443
shared.sqlSubmitQueue.put(v)
44444444
queryreturn = shared.sqlReturnQueue.get()
44454445
shared.sqlLock.release()
44464446
data = '{"sentMessage":['
44474447
for row in queryreturn:
4448-
msgid, toAddress, fromAddress, subject, lastactiontime, message, encodingtype, status = row
4448+
msgid, toAddress, fromAddress, subject, lastactiontime, message, encodingtype, status, ackdata = row
44494449
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
44504450
message = shared.fixPotentiallyInvalidUTF8Data(message)
4451-
data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':encodingtype,'lastActionTime':lastactiontime,'status':status},indent=4, separators=(',', ': '))
4451+
data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':encodingtype,'lastActionTime':lastactiontime,'status':status,'ackData':ackdata.encode('hex')},indent=4, separators=(',', ': '))
4452+
data += ']}'
4453+
return data
4454+
elif method == 'getSentMessageByAckData':
4455+
if len(params) == 0:
4456+
return 'API Error 0000: I need parameters!'
4457+
ackData = params[0].decode('hex')
4458+
v = (ackData,)
4459+
shared.sqlLock.acquire()
4460+
shared.sqlSubmitQueue.put('''SELECT msgid, toaddress, fromaddress, subject, lastactiontime, message, encodingtype, status, ackdata FROM sent WHERE ackdata=?''')
4461+
shared.sqlSubmitQueue.put(v)
4462+
queryreturn = shared.sqlReturnQueue.get()
4463+
shared.sqlLock.release()
4464+
data = '{"sentMessage":['
4465+
for row in queryreturn:
4466+
msgid, toAddress, fromAddress, subject, lastactiontime, message, encodingtype, status, ackdata = row
4467+
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
4468+
message = shared.fixPotentiallyInvalidUTF8Data(message)
4469+
data += json.dumps({'msgid':msgid.encode('hex'),'toAddress':toAddress,'fromAddress':fromAddress,'subject':subject.encode('base64'),'message':message.encode('base64'),'encodingType':encodingtype,'lastActionTime':lastactiontime,'status':status,'ackData':ackdata.encode('hex')},indent=4, separators=(',', ': '))
44524470
data += ']}'
44534471
return data
44544472
elif (method == 'trashMessage') or (method == 'trashInboxMessage'):

0 commit comments

Comments
 (0)