view detectors/newissuecopy.py @ 5429:daa19de102a2

Python 3 preparation: make fallback SysCallError an actual exception class. The code defines a fallback version of SysCallError when import of OpenSSL.SSL. But in Python 3, defining it as None and then using in "except" statements results in: TypeError: catching classes that do not inherit from BaseException is not allowed
author Joseph Myers <jsm@polyomino.org.uk>
date Wed, 25 Jul 2018 09:56:22 +0000
parents 198b6e810c67
children
line wrap: on
line source

# copied from nosyreaction

from roundup import roundupdb

def newissuecopy(db, cl, nodeid, oldvalues):
    ''' Copy a message about new issues to a team address.
    '''
    # get relevant crypto settings
    encrypt = db.config.PGP_ENABLE and db.config.PGP_ENCRYPT

    # so use all the messages in the create
    change_note = cl.generateCreateNote(nodeid)

    # send a copy to the nosy list
    for msgid in cl.get(nodeid, 'messages'):
        try:
            # note: fourth arg must be a list
            cl.send_message(nodeid, msgid, change_note,
                            ['team@team.host'],
                            crypt=encrypt)
        except roundupdb.MessageSendError as message:
            raise roundupdb.DetectorError(message)

def init(db):
    db.issue.react('create', newissuecopy)

# vim: set filetype=python ts=4 sw=4 et si

Roundup Issue Tracker: http://roundup-tracker.org/