This repository has been archived on 2025-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2025-03-03/src/helper_sent.py

49 lines
1.9 KiB
Python
Raw Normal View History

2019-10-07 19:28:12 +05:30
"""
2019-10-09 18:57:51 +05:30
Insert values into sent table
2019-10-07 19:28:12 +05:30
"""
2020-11-06 02:02:13 +05:30
import time
import uuid
2020-11-06 02:02:13 +05:30
from addresses import decodeAddress
from bmconfigparser import BMConfigParser
2020-11-06 02:02:13 +05:30
from helper_ackPayload import genAckPayload
2019-12-23 15:19:03 +05:30
from helper_sql import sqlExecute
2019-10-09 18:57:51 +05:30
2020-11-09 20:45:28 +05:30
# pylint: disable=too-many-arguments
def insert(msgid=None, toAddress='[Broadcast subscribers]', fromAddress=None, subject=None,
message=None, status='msgqueued', ripe=None, ackdata=None, sentTime=None,
lastActionTime=None, sleeptill=0, retryNumber=0, encoding=2, ttl=None, folder='sent'):
2019-10-09 18:57:51 +05:30
"""Perform an insert into the `sent` table"""
# pylint: disable=unused-variable
2020-11-09 20:45:28 +05:30
# pylint: disable-msg=too-many-locals
valid_addr = True
2020-11-09 20:45:28 +05:30
if not ripe or not ackdata:
addr = fromAddress if toAddress == '[Broadcast subscribers]' else toAddress
new_status, addressVersionNumber, streamNumber, new_ripe = decodeAddress(addr)
valid_addr = True if new_status == 'success' else False
2020-11-09 20:45:28 +05:30
if not ripe:
ripe = new_ripe
if not ackdata:
stealthLevel = BMConfigParser().safeGetInt(
'bitmessagesettings', 'ackstealthlevel')
new_ackdata = genAckPayload(streamNumber, stealthLevel)
ackdata = new_ackdata
if valid_addr:
msgid = msgid if msgid else uuid.uuid4().bytes
sentTime = sentTime if sentTime else int(time.time()) # sentTime (this doesn't change)
lastActionTime = lastActionTime if lastActionTime else int(time.time())
2020-11-09 20:45:28 +05:30
ttl = ttl if ttl else BMConfigParser().getint('bitmessagesettings', 'ttl')
2020-11-09 20:45:28 +05:30
t = (msgid, toAddress, ripe, fromAddress, subject, message, ackdata,
sentTime, lastActionTime, sleeptill, status, retryNumber, folder,
encoding, ttl)
sqlExecute('''INSERT INTO sent VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)''', *t)
return ackdata
else:
return None