Source code for uw.local.outgoing.cursor

"""Cursor class for Outgoing mail sending.

Inherits from the usual cursor class with added methods for commonly-needed
queries.
"""

from uw.local.dbtools import Cursor
from uw.sql.dbapi import *

[docs]class Cursor (Cursor): get_message = make_execute_optional_tuple ("SELECT mmts.* FROM mail_message_to_send AS mmts JOIN mail_message AS mm USING (msg_id) ORDER BY completed DESC LIMIT 1 FOR UPDATE OF mm SKIP LOCKED") get_message_by_id = make_execute_optional_tuple ("SELECT * FROM mail_message_current_status WHERE msg_id=%(msg_id)s") mark_message_sent = make_execute_none ("INSERT INTO mail_message_sent (msg_id) VALUES (%(msg_id)s)") get_recipients = make_execute_tuples ("SELECT recipient_type, recipient_email, recipient_name FROM mail_recipient WHERE msg_id = %(msg_id)s") get_attachments = make_execute_tuples ("SELECT * FROM mail_attachment WHERE msg_id = %(msg_id)s ORDER BY sequence")