#!/usr/bin/env python3 # This file is part of Cockpit. # # Copyright (C) 2016 Red Hat, Inc. # # Cockpit is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Cockpit is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Cockpit; If not, see . # To use this example add a line to an issue with the "bot" label # # * [ ] example-bot 20 # import os import sys import time sys.dont_write_bytecode = True import task BOTS = os.path.abspath(os.path.dirname(__file__)) BASE = os.path.normpath(os.path.join(BOTS, "..")) def run(argument, verbose=False, **kwargs): try: int(argument) except (TypeError, ValueError): return "Failed to parse argument" sys.stdout.write("Example message to log\n") # Attach the package.json script as an example task.attach("./package.json") time.sleep(20) if __name__ == '__main__': task.main(function=run, title="Example bot task")