diff options
author | Matthias Baumgartner <dev@igsor.net> | 2023-03-01 21:50:04 +0100 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2023-03-01 21:50:04 +0100 |
commit | 6eca3af569997f28eee9d169a68cef4bbd6fd789 (patch) | |
tree | e66bdd119a7d0b5a57b8fb9c272a9b2ac1892b60 /bsie | |
parent | ec9105b690974b0246e36769506e735c4edf069a (diff) | |
download | bsie-6eca3af569997f28eee9d169a68cef4bbd6fd789.tar.gz bsie-6eca3af569997f28eee9d169a68cef4bbd6fd789.tar.bz2 bsie-6eca3af569997f28eee9d169a68cef4bbd6fd789.zip |
Integrate main app into package
Diffstat (limited to 'bsie')
-rw-r--r-- | bsie/apps/__init__.py | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/bsie/apps/__init__.py b/bsie/apps/__init__.py index 1c3d0f9..4c852a9 100644 --- a/bsie/apps/__init__.py +++ b/bsie/apps/__init__.py @@ -1,12 +1,17 @@ -""" +#!/usr/bin/env python3 +"""BSIE tools. Part of the bsie module. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ # standard imports +import argparse import typing +# bsie imports +import bsie + # inner-module imports from .index import main as index from .info import main as info @@ -15,6 +20,39 @@ from .info import main as info __all__: typing.Sequence[str] = ( 'index', 'info', + 'main', ) +# config +apps = { + 'index' : index, + 'info' : info, + } + + +## code ## + +def main(argv=None): + """Black Star File System maintenance tools.""" + parser = argparse.ArgumentParser(description=main.__doc__, prog='bsie') + # version + parser.add_argument('--version', action='version', + version='%(prog)s version {}.{}.{}'.format(*bsie.version_info)) + # application selection + parser.add_argument('app', choices=apps.keys(), + help='Select the application to run.') + # dangling args + parser.add_argument('rest', nargs=argparse.REMAINDER) + # parse + args = parser.parse_args(argv) + # run application + apps[args.app](args.rest) + + +## main ## + +if __name__ == '__main__': + import sys + main(sys.argv[1:]) + ## EOF ## |