#!/usr/bin/env python3

import argparse
import os
import shutil
import sys

from pathlib import Path

import sphinx

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--all", "-a", action="store_true")
    parser.add_argument("--nitpick", "-n", action="store_true")
    args = parser.parse_args()

    project_dir = Path(Path.cwd(), __file__).parent
    sys.path.append(str(project_dir))

    docs_dir = Path(project_dir, "doc")
    build_dir = Path(docs_dir, "_build")

    if args.all:
        if build_dir.exists():
            shutil.rmtree(str(build_dir))

    argv = ["build_docs"]
    if args.nitpick:
        argv.append("-n")
    argv += [
        "-b", "html",
        "-d", str(Path(build_dir, "doctrees")),
        str(docs_dir),
        str(Path(build_dir, "html"))
    ]
    sys.exit(sphinx.main(argv))

main()
