From c7987858924608f8013e64260efb806e5ddeab9f Mon Sep 17 00:00:00 2001 From: Steven Van Dorp Date: Sun, 1 Feb 2026 15:13:01 +0100 Subject: Initial commit --- src/xpit_/xpit.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/xpit_/xpit.py (limited to 'src/xpit_/xpit.py') diff --git a/src/xpit_/xpit.py b/src/xpit_/xpit.py new file mode 100644 index 0000000..f6eefd0 --- /dev/null +++ b/src/xpit_/xpit.py @@ -0,0 +1,53 @@ +from sys import argv, stdout +from . import args_helpers, init, create, list_ + +help_text = """\ +xpit - cross-platform issue tracker +Usage: xpit [options] +: + init: + Initialize issue tracker in current directory. + create: + Create new issue or reply. + list: + List issues. +Options: + -h, --help + Print this help text. `xpit -h` for help with specific command. +""" + +class Args: + def __init__(self) -> None: + pass + + def parse(self) -> bool: + flag_value_map = { + "help|h": 0, + } + res = args_helpers.parse_generic(flag_value_map, argv, 1) + if res is None: + return False + if "help" in res: + stdout.write(help_text) + return False + + return True +args = Args() + +def main() -> int: + if len(argv) <= 1: + stdout.write(help_text) + return 1 + + elif argv[1] == "init": + return init.main() + elif argv[1] == "create": + return create.main() + elif argv[1] == "list": + return list_.main() + else: + if not args.parse(): + return 1 + + return 0 + -- cgit v1.2.3