@@ -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