helper_sent.py.bak
1 """ 2 Insert values into sent table 3 """ 4 5 import time 6 import uuid 7 from addresses import decodeAddress 8 from bmconfigparser import config 9 from helper_ackPayload import genAckPayload 10 from helper_sql import sqlExecute, sqlQuery 11 12 13 # pylint: disable=too-many-arguments 14 def insert(msgid=None, toAddress='[Broadcast subscribers]', fromAddress=None, subject=None, 15 message=None, status='msgqueued', ripe=None, ackdata=None, sentTime=None, 16 lastActionTime=None, sleeptill=0, retryNumber=0, encoding=2, ttl=None, folder='sent'): 17 """Perform an insert into the `sent` table""" 18 # pylint: disable=unused-variable 19 # pylint: disable-msg=too-many-locals 20 21 valid_addr = True 22 if not ripe or not ackdata: 23 addr = fromAddress if toAddress == '[Broadcast subscribers]' else toAddress 24 new_status, addressVersionNumber, streamNumber, new_ripe = decodeAddress(addr) 25 valid_addr = True if new_status == 'success' else False 26 if not ripe: 27 ripe = new_ripe 28 29 if not ackdata: 30 stealthLevel = config.safeGetInt( 31 'bitmessagesettings', 'ackstealthlevel') 32 new_ackdata = genAckPayload(streamNumber, stealthLevel) 33 ackdata = new_ackdata 34 if valid_addr: 35 msgid = msgid if msgid else uuid.uuid4().bytes 36 sentTime = sentTime if sentTime else int(time.time()) # sentTime (this doesn't change) 37 lastActionTime = lastActionTime if lastActionTime else int(time.time()) 38 39 ttl = ttl if ttl else config.getint('bitmessagesettings', 'ttl') 40 41 t = (msgid, toAddress, ripe, fromAddress, subject, message, ackdata, 42 sentTime, lastActionTime, sleeptill, status, retryNumber, folder, 43 encoding, ttl) 44 45 sqlExecute('''INSERT INTO sent VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)''', *t) 46 return ackdata 47 else: 48 return None 49 50 51 def delete(ack_data): 52 """Perform Delete query""" 53 sqlExecute("DELETE FROM sent WHERE ackdata = ?", ack_data) 54 55 56 def retrieve_message_details(ack_data): 57 """Retrieving Message details""" 58 data = sqlQuery( 59 "select toaddress, fromaddress, subject, message, received from inbox where msgid = ?", ack_data 60 ) 61 return data 62 63 64 def trash(ackdata): 65 """Mark a message in the `sent` as `trash`""" 66 rowcount = sqlExecute( 67 '''UPDATE sent SET folder='trash' WHERE ackdata=?''', ackdata 68 ) 69 return rowcount