def processor(sess, dm): log.info("Moving sent Dmail from Outbox to Sent.") remove_target = None for tag in dm.tags: if tag.name == "Outbox": remove_target = tag break dm.tags.remove(remove_target) dmail.attach_dmail_tag(sess, dm, "Sent") return True
def processor(sess, dm): if submit == "add_tag": dmail.attach_dmail_tag(sess, dm, qdict["add_tag"][0]) return True elif submit == "move_to_tag": dm.tags.clear() dmail.attach_dmail_tag(sess, dm, qdict["add_tag"][0]) return True elif submit == "remove_tag": if len(dm.tags) <= 1: return False remove_tag = qdict["remove_tag"][0] remove_target = None for tag in dm.tags: if tag.name == remove_tag: remove_target = tag break dm.tags.remove(remove_target) return True else: return False
def dbcall(): with dispatcher.node.db.open_session() as sess: dispatcher.node.db.lock_table(sess, DmailMessage) if dm.data_key: q = sess.query(func.count("*")).select_from(DmailMessage).filter(DmailMessage.data_key == dm.data_key) if q.scalar(): log.warning("Not saving dmail we already have saved," " data_key=[{}].".format(dmail_key)) return None else: # Local only message, as we haven't sent it yet. dm.data_key = b"" dmail.attach_dmail_tag(sess, dm, tag_name) sess.add(dm) sess.expire_on_commit = False sess.commit() return dm