Example #1
0
def _buildBody(sender, recipients, subject, msg, info=None, debug=None,
               failure=None, exception=None, documents=None):
    body = [msg]
    if info:
        body.append("Information:\n\n%s" % info)
    if debug:
        body.append("Additional Debug Info:\n\n%s" % debug)
    if exception:
        body.append("Exception Message: %s\n\nException Traceback:\n\n%s"
                    % (log.getExceptionMessage(exception),
                       log.getExceptionTraceback(exception)))
    if failure:
        body.append("Failure Message: %s\n\nFailure Traceback:\n%s"
                    % (log.getFailureMessage(failure),
                       log.getFailureTraceback(failure)))
    msg = MIMEMultipart()
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = recipients
    txt = MIMEText("\n\n\n".join(body))
    msg.attach(txt)
    if documents:
        for doc in documents:
            mimeType = doc.getMimeType()
            mainType, subType = mimeType.split('/', 1)
            data = MIMEBase(mainType, subType)
            data.set_payload(doc.asString())
            email.Encoders.encode_base64(data)
            data.add_header('Content-Disposition', 'attachment',
                            filename=doc.label)
            msg.attach(data)
    return str(msg)
Example #2
0
 def _notifyDebug(self, msg, info=None, debug=None, failure=None,
                   exception=None, documents=None):
     infoMsg = ["File Monitor Debug Notification: %s" % msg]
     debugMsg = []
     if info:
         infoMsg.append("Information:\n\n%s" % info)
     if debug:
         debugMsg.append("Additional Debug Info:\n\n%s" % debug)
     if failure:
         debugMsg.append("Failure Message: %s\nFailure Traceback:\n%s"
                         % (log.getFailureMessage(failure),
                            log.getFailureTraceback(failure)))
     if exception:
         debugMsg.append("Exception Message: %s\n\nException Traceback:\n%s"
                         % (log.getExceptionMessage(exception),
                            log.getExceptionTraceback(exception)))
     m = messages.Warning(_("\n\n".join(infoMsg)),
                          debug="\n\n".join(debugMsg))
     self.addMessage(m)