From 5fe3960e18c65d9a676158cee1ca080e259369f1 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 9 Nov 2021 08:55:41 +0200 Subject: limit lines included in log file Sponsored-by: author --- ick2/notificationapi.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ick2/notificationapi.py b/ick2/notificationapi.py index ab261bd..877b929 100644 --- a/ick2/notificationapi.py +++ b/ick2/notificationapi.py @@ -17,29 +17,32 @@ import ick2 -class NotificationAPI: +N = 1000 # Max number of line to include in log + +class NotificationAPI: def __init__(self, config): self._config = config def find_missing_route(self, missing_path): return [ { - 'method': 'POST', - 'path': '/notify', - 'callback': self.notify, + "method": "POST", + "path": "/notify", + "callback": self.notify, }, ] def notify(self, content_type, body, **kwargs): - ick2.log.log('info', msg_text='Notification requested', kwargs=kwargs) + ick2.log.log("info", msg_text="Notification requested", kwargs=kwargs) - recipients = body.get('recipients', []) - build = body.get('build', {}) - log = body.get('log', '') + recipients = body.get("recipients", []) + build = body.get("build", {}) + log = body.get("log", "") + log = "".join(f"{line}\n" for line in log.splitlines()[-N:]) sendmail = ick2.Sendmail() sendmail.set_config(self._config) sendmail.send(recipients, build, log) - return ick2.OK('') + return ick2.OK("") -- cgit v1.2.1