From 648653df59aaa5a5e3c8673500883861c1ae2ac5 Mon Sep 17 00:00:00 2001 From: monoid Date: Thu, 21 Apr 2022 17:50:24 +0900 Subject: [PATCH] feat: cli tool --- .gitignore | 5 +++++ cli.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++ tools/getIssue.ts | 1 + 3 files changed, 62 insertions(+) create mode 100644 cli.py diff --git a/.gitignore b/.gitignore index 7585238..395c315 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ book +.env +cache +.DS_Store +build + diff --git a/cli.py b/cli.py new file mode 100644 index 0000000..d8e4eb3 --- /dev/null +++ b/cli.py @@ -0,0 +1,56 @@ +#! /usr/bin/env python + +import argparse +import subprocess +import sys +import os + + +def build(args): + parser = argparse.ArgumentParser(description='Compiling the documentation') + parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode') + parser.add_argument('--update_issues', action='store_true', help='update issues') + args = parser.parse_args(args) + if args.verbose: + print("build start") + if args.update_issues: + if args.verbose: + print("get issues") + p = subprocess.run(["deno", "run", "-A","tools/getIssue.ts", "--path","./build/issues.json"]) + p.check_returncode() + if args.verbose: + print("build issues") + p = subprocess.run(["deno", "run", "-A","tools/printDocument.ts", "--overall", "--path", "./build/issues.json", "--outpath", "./build/overall.md"]) + p.check_returncode() + p = subprocess.run(["deno", "run", "-A","tools/printDocument.ts", "--path", "./build/issues.json", "--outpath", "./build/specific.md"]) + p.check_returncode() + +def help(_args): + global commandList + print("subcommands:") + for command in commandList.keys(): + print("\t", command) + +commandList = { + 'build': build, + 'help': help +} + +def main(): + args = sys.argv + if len(args) < 2: + print("no subcommand", file=sys.stderr) + help(args) + return + _command = args[0] + subCommand = args[1] + if subCommand not in commandList: + print("Command not found", file=sys.stderr) + help(args) + sys.exit(1) + args = args[2:] + os.makedirs("build", exist_ok=True) + commandList[subCommand](args) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/tools/getIssue.ts b/tools/getIssue.ts index 56b1981..999d32e 100644 --- a/tools/getIssue.ts +++ b/tools/getIssue.ts @@ -1,6 +1,7 @@ #! /usr/bin/env deno run --allow-net --allow-env import {Issue} from "./githubType.ts"; import {parse} from "https://deno.land/std@0.135.0/flags/mod.ts"; +import "https://deno.land/std@0.136.0/dotenv/load.ts"; /** * get issue from github