restructure
This commit is contained in:
parent
9e44070fe7
commit
81fdafb907
13 changed files with 376 additions and 366 deletions
44
cli.py
44
cli.py
|
@ -1,44 +0,0 @@
|
|||
import argparse
|
||||
import http.server
|
||||
import socketserver
|
||||
import sys
|
||||
import os
|
||||
|
||||
import recipes
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser()
|
||||
subparsers = parser.add_subparsers(required=True, dest="subcommand")
|
||||
|
||||
parser_build = subparsers.add_parser("build")
|
||||
parser_build.add_argument("directory", type=str)
|
||||
|
||||
parser_serve = subparsers.add_parser("serve")
|
||||
parser_serve.add_argument("directory", type=str)
|
||||
parser_serve.add_argument("--port", type=int, default=8000)
|
||||
parser_serve.add_argument("--address", type=str, default="127.0.0.1")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
ret = 0
|
||||
if args.subcommand == "build":
|
||||
ret = recipes.Builder().build(args.directory)
|
||||
elif args.subcommand == "serve":
|
||||
os.chdir(f"{args.directory}/out/html")
|
||||
httpd = socketserver.TCPServer(
|
||||
(args.address, args.port), http.server.SimpleHTTPRequestHandler
|
||||
)
|
||||
print(f"serving at http://{args.address}:{args.port}")
|
||||
try:
|
||||
httpd.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
else:
|
||||
# unhandled, but valid subcommand
|
||||
assert False
|
||||
sys.exit(ret)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue