osbuild: use osbuild_cli directly as main entry

Instead of having a another indirection via `main_cli`, directly
use `osbuild_cli` in as main function in `__main__.py`. Also use
that in as the entry point for the generated `osbuild` executable.
Change `osbuild_cli` to be self-contained, i.e. it directly uses
`sys.argv` and `sys.exit`.
This commit is contained in:
Christian Kellner 2020-06-22 17:40:35 +02:00 committed by Tom Gundersen
parent 7e392f819e
commit 53f6c41917
3 changed files with 6 additions and 17 deletions

View file

@ -4,10 +4,9 @@ This specifies the entrypoint of the osbuild module when run as executable. For
compatibility we will continue to run the CLI. compatibility we will continue to run the CLI.
""" """
import sys
from osbuild.main_cli import main_cli as main from osbuild.main_cli import osbuild_cli as main
if __name__ == "__main__": if __name__ == "__main__":
sys.exit(main()) main()

View file

@ -101,8 +101,8 @@ def parse_arguments(sys_argv):
# pylint: disable=too-many-branches # pylint: disable=too-many-branches
def osbuild_cli(*, sys_argv): def osbuild_cli():
args = parse_arguments(sys_argv) args = parse_arguments(sys.argv)
manifest = parse_manifest(args.manifest_path) manifest = parse_manifest(args.manifest_path)
# first thing after parsing is validation of the input # first thing after parsing is validation of the input
@ -164,14 +164,4 @@ def osbuild_cli(*, sys_argv):
print() print()
print(f"{RESET}{BOLD}{RED}Failed{RESET}") print(f"{RESET}{BOLD}{RED}Failed{RESET}")
return 0 if r["success"] else 1 sys.exit(0 if r["success"] else 1)
def main_cli():
"""osbuild-cli entrypoint
This is the entrypoint used by the `osbuild` executable. We simply fetch the
global configuration and parameters necessary and invoke the API entrypoint.
"""
sys.exit(osbuild_cli(sys_argv=sys.argv))

View file

@ -11,7 +11,7 @@ setuptools.setup(
], ],
entry_points={ entry_points={
"console_scripts": [ "console_scripts": [
"osbuild = osbuild.main_cli:main_cli" "osbuild = osbuild.main_cli:osbuild_cli"
] ]
}, },
) )