This is intended to be perform a number of CI-related operations
that are currently implemented in various different scripts
written in various different programming languages.
Eventually, all existing functionality will be reimplemented in
Python and made available through this single entry point; for
now, let's start with a very basic skeleton.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
--- /dev/null
+#!/usr/bin/env python3
+#
+# Copyright (C) 2021 Red Hat, Inc.
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+import argparse
+import pathlib
+
+
+class Parser:
+ def __init__(self):
+ # Main parser
+ self.parser = argparse.ArgumentParser()
+ subparsers = self.parser.add_subparsers(
+ dest="action",
+ metavar="ACTION",
+ )
+ subparsers.required = True
+
+ def parse(self):
+ return self.parser.parse_args()
+
+
+class Application:
+ def __init__(self):
+ self.basedir = pathlib.Path(__file__).resolve().parent
+ self.args = Parser().parse()
+
+ def run(self):
+ self.args.func(self)
+
+
+if __name__ == "__main__":
+ Application().run()