#!/usr/bin/env python3 # This file is part of Cockpit. # # Copyright (C) 2017 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 . # Number of days between attempts to upgrade an NPM package DAYS = 3 import argparse import sys import time sys.dont_write_bytecode = True import task def main(): parser = argparse.ArgumentParser(description='Ensure necessary issue exists for npm upgrades') parser.add_argument('-v', '--verbose', action="store_true", default=False, help="Print verbose information") parser.add_argument("package", nargs="?") opts = parser.parse_args() if opts.package: title = "Update {0} package dependency".format(opts.package) body = "Update to latest point version of the NPM {0} package dependency".format(opts.package) else: title = "Check for NPM dependency updates" body = "Check for any outstanding update of point version of any outstanding NPM package dependency" since = time.time() - (DAYS * 86400) issue = task.issue(title, body, "npm-update", opts.package or None, state="all", since=since) if issue: sys.stderr.write("#{0}: npm-update {1}\n".format(issue["number"], opts.package or "")) return 0 if __name__ == '__main__': sys.exit(main())