37 lines
1 KiB
Python
37 lines
1 KiB
Python
import argparse
|
|
import sys
|
|
from typing import List
|
|
|
|
from .format_manifest import format_manifest_command
|
|
from .index import index_command
|
|
from .update import update_command
|
|
|
|
from .channel import build_channel_command
|
|
|
|
|
|
def parse_arguments(argv: List[str]) -> argparse.Namespace:
|
|
parser = argparse.ArgumentParser(
|
|
prog=argv[0], description="nur management commands"
|
|
)
|
|
|
|
subparsers = parser.add_subparsers(description="subcommands")
|
|
|
|
build_channel = subparsers.add_parser("build-channel")
|
|
build_channel.add_argument('directory')
|
|
build_channel.set_defaults(func=build_channel_command)
|
|
|
|
format_manifest = subparsers.add_parser("format-manifest")
|
|
format_manifest.set_defaults(func=format_manifest_command)
|
|
|
|
update = subparsers.add_parser("update")
|
|
update.set_defaults(func=update_command)
|
|
|
|
index = subparsers.add_parser("index")
|
|
index.set_defaults(func=index_command)
|
|
|
|
return parser.parse_args(argv[1:])
|
|
|
|
|
|
def main() -> None:
|
|
args = parse_arguments(sys.argv)
|
|
args.func(args)
|