#!/usr/bin/env python3
# coding: utf-8

import sys

def add_path():
    from os.path import normpath, join, exists, dirname, abspath, realpath
    libdir = normpath(join(dirname(realpath(__file__)), ".."))
    if exists(join(libdir, "dowwner")):
        sys.path.insert(0, libdir)
    # sys.argv[0] = os.path.abspath(__file__)
    return

def main(argv):
    import argparse as ap

    import dowwner

    parser = ap.ArgumentParser()
    parser.add_argument("-v", "--version", action="version",
                        version=("%(prog)s " + dowwner.__version__))
    parser.add_argument("-r", "--root-dir",
                        help="root directory, default to current directory",
                        default=None)
    parser.add_argument("-d", "--daemon",
                        help="run as daemon",
                        choices=("start", "status", "stop", "restart"))
    parser.add_argument("-p", "--port", help="port number, default to 2505",
                        default=0, type=int)
    parser.add_argument("-c", "--cgi", help="works as cgi", action="store_true")
    parser.add_argument("--debug", help="enable debugging", action="store_true")

    args = parser.parse_args(argv[1:])

    confs = dict()
    confs["cgi"] = args.cgi
    confs["debug"] = args.debug
    if args.root_dir:
        confs["rootdir"] = args.root_dir
    if args.port:
        confs["port"] = args.port
    if args.daemon:
        confs["daemon"] = args.daemon

    # print(args)
    # print(confs)
    dowwner.main(**confs)
    return

def _testcgi():
    import os
    os.environ["SERVER_NAME"] = "example.com"
    os.environ["SCRIPT_NAME"] = "cgi.py"
    os.environ["PATH_INFO"] = "/%E3%81%82"
    os.environ["QUERY_STRING"] = ""
    os.environ["REQUEST_METHOD"] = "GET"

    from dowwner import cgi
    cgi.main(rootdir=os.getcwd())
    return

if __name__ == "__main__":
    add_path()
    main(sys.argv)
    # _testcgi()
