Ejemplo n.º 1
0
 def mail_feedback_notification(self, payload: dict) -> dict:
     parameters = get_one("Parameters")
     name = f"{payload['job']['name']}"
     recipients = payload["job"]["mail_recipient"].split(
         ",") or parameters.mail_recipients.split(",")
     self.logs.append(f"Sending mail notification for {name}")
     message = Message(
         f"{name} ({'PASS' if payload['result'] else 'FAILED'})",
         sender=parameters.mail_sender,
         recipients=recipients,
         body=payload["content"],
     )
     runtime = payload["runtime"].replace(".", "").replace(":", "")
     filename = f"results-{runtime}.txt"
     with open(filename, "w") as file:
         file.write(str_dict(payload["results"][payload["runtime"]]))
     with open(filename, "r") as file:
         message.attach(
             filename,
             "text/plain",
             file.read(),
             disposition=f"attachment; filename={filename}",
         )
     remove(filename)
     mail_client.send(message)
     return {"success": True}
Ejemplo n.º 2
0
 def job(self, _) -> dict:
     parameters = get_one("Parameters")
     if self.recipients:
         recipients = self.recipients.split(",")
     else:
         recipients = parameters.mail_sender.split(",")
     sender = self.sender or parameters.mail_sender
     self.logs.append(f"Sending mail {self.title} to {sender}")
     message = Message(
         self.title, sender=sender, recipients=recipients, body=self.body
     )
     mail_client.send(message)
     return {"success": True, "result": str(message)}