aboutsummaryrefslogtreecommitdiffstats
path: root/bsie.app
diff options
context:
space:
mode:
Diffstat (limited to 'bsie.app')
-rwxr-xr-xbsie.app49
1 files changed, 49 insertions, 0 deletions
diff --git a/bsie.app b/bsie.app
new file mode 100755
index 0000000..ba9cee7
--- /dev/null
+++ b/bsie.app
@@ -0,0 +1,49 @@
+"""BSIE tools.
+
+Part of the bsie module.
+A copy of the license is provided with the project.
+Author: Matthias Baumgartner, 2022
+"""
+# imports
+import argparse
+import typing
+
+# module imports
+import bsie
+import bsie.apps
+
+# exports
+__all__: typing.Sequence[str] = (
+ 'main',
+ )
+
+# config
+apps = {
+ 'index' : bsie.apps.index,
+ 'info' : bsie.apps.info,
+ }
+
+
+## code ##
+
+def main(argv):
+ """Black Star File System maintenance tools."""
+ parser = argparse.ArgumentParser(description=main.__doc__, prog='bsie')
+ parser.add_argument('--version', action='version',
+ version='%(prog)s version {}.{}.{}'.format(*bsie.version_info))
+ parser.add_argument('app', choices=apps.keys(),
+ help='Select the application to run.')
+ parser.add_argument('rest', nargs=argparse.REMAINDER)
+ # parse
+ args = parser.parse_args()
+ # run application
+ apps[args.app](args.rest)
+
+
+## main ##
+
+if __name__ == '__main__':
+ import sys
+ main(sys.argv[1:])
+
+## EOF ##