Beispiel #1
0
def curieapi_empty(request, tmpdir):
    if request.param.startswith("git"):
        url = request.param + str(tmpdir) + "/git"
    elif request.param.startswith("mongodb"):
        url = "%s_%i" % (request.param, time.time())
    else:
        raise NotImplemented

    p = subprocess.Popen(["curieconf_server", "--dbpath", url])

    t = time.time()
    while time.time() - t < 10:
        s = socket.socket()
        try:
            s.connect(API_ADDRESS)
        except ConnectionRefusedError:
            try:
                status = p.wait(0.05)
            except subprocess.TimeoutExpired:
                pass
            else:
                raise Exception("curieconf_server stopped with status %r" %
                                status)
        except:
            raise
        else:
            break

    print("started")
    yield confclient.get_api(API_BASE)
    print("stopped")
    p.kill()
    p.wait()
Beispiel #2
0
def main_options(output:str=typer.Option("json", "--output", "-o",
                                         help="Output format: json, yaml"),
                 baseurl:str=typer.Option(os.environ.get("CURIECONF_BASE_URL","http://localhost:5000/api/v1/"),
                                          "--base-url", "-u",
                                         help="Base url for API"),
):
    state.output = output
    state.api = confclient.get_api(baseurl)
Beispiel #3
0
def main(args=None):
    import argparse

    parser = argparse.ArgumentParser()

    parser.add_argument(
        "--base-url",
        default=os.environ.get("CURIECONF_BASE_URL",
                               "http://confserver/api/v1/"),
    )
    parser.add_argument("--task-db-name",
                        default=os.environ.get("CURIETASKER_DB_NAME", "tasks"))
    parser.add_argument("--task-file",
                        type=argparse.FileType("r"),
                        default=None)
    parser.add_argument("--verbose", "-v", action="count", default=3)
    parser.add_argument("--quiet", "-q", action="count", default=0)
    parser.add_argument("--debug", "-d", action="store_true", default=False)

    subparsers = parser.add_subparsers(dest="commandd", required=True)

    p_start = subparsers.add_parser("start", help="start the tasker loop")
    p_start.set_defaults(func=start)
    p_start.add_argument("--timemark", default=datetime.datetime.now())

    p_runtask = subparsers.add_parser("runtask", help="run a single task")
    p_runtask.set_defaults(func=runtask)
    p_runtask.add_argument("taskid")

    options = parser.parse_args(args)

    options.api = confclient.get_api(options.base_url)
    options.verbosity = (1 if options.debug else max(
        1, 50 + 10 * (options.quiet - options.verbose)))
    logging.basicConfig(
        format="%(asctime)s: %(levelname)-5s: %(name)s: %(message)s",
        level=options.verbosity,
    )

    options.func(options)