diff --git a/helpers/bpo_failed_to_queued.py b/helpers/bpo_failed_to_queued.py index f58044aacc59b4541cc078fc7fae2858f5f9d2e9..bff1cb6d4e9cec8a6f5b17d9f126ebf505390827 100755 --- a/helpers/bpo_failed_to_queued.py +++ b/helpers/bpo_failed_to_queued.py @@ -20,6 +20,14 @@ def parse_arguments(): parser = argparse.ArgumentParser() parser.add_argument("-d", "--db-path", help="path to sqlite3 database", default=bpo.config.const.args.db_path) + parser.add_argument("-p", "--packages", help="handle packages", + action="store_true") + parser.add_argument("-i", "--images", help="handle images", + action="store_true") + parser.add_argument("-b", "--bootstraps", help="handle bootstraps", + action="store_true") + parser.add_argument("-a", "--all", help="handle all (packages, images, bootstraps)", + action="store_true") return parser.parse_args() @@ -94,11 +102,25 @@ def main(): print("ERROR: could not find database: " + args.db_path) sys.exit(1) + handle_packages = args.all or args.packages + handle_images = args.all or args.images + handle_bootstraps = args.all or args.bootstraps + if not handle_packages and not handle_images and not handle_bootstraps: + print("ERROR: use some limiting argument or --all") + sys.exit(1) + init_db(args.db_path) session = bpo.db.session() - packages = get_failed_packages(session) - images = get_failed_images(session) - repo_bootstraps = get_failed_repo_bootstraps(session) + + packages = [] + images = [] + repo_bootstraps = [] + if handle_packages: + packages = get_failed_packages(session) + if handle_images: + images = get_failed_images(session) + if handle_bootstraps: + repo_bootstraps = get_failed_repo_bootstraps(session) if not images and not packages and not repo_bootstraps: print("No failed jobs found.")