#!/usr/bin/env python

from __future__ import unicode_literals, absolute_import

import argparse
import sys
import os
import subprocess


parser = argparse.ArgumentParser(description="Run the Pagure worker")
parser.add_argument(
    "--config",
    "-c",
    dest="config",
    help="Configuration file to use for pagure.",
)
parser.add_argument(
    "--debug",
    dest="debug",
    action="store_true",
    default=False,
    help="Expand the level of data returned.",
)
parser.add_argument(
    "--noinfo",
    dest="noinfo",
    action="store_true",
    default=False,
    help="Reduce the log level.",
)

args = parser.parse_args()

env = {}
if args.config:
    config = args.config
    if not config.startswith("/"):
        here = os.path.join(os.path.dirname(os.path.abspath(__file__)))
        config = os.path.join(here, config)
    env["PAGURE_CONFIG"] = config

cmd = [sys.executable, "-m", "celery", "worker", "-A", "pagure.lib.tasks"]

if args.debug:
    cmd.append("--loglevel=debug")
elif args.noinfo:
    pass
else:
    cmd.append("--loglevel=info")

subp = subprocess.Popen(cmd, env=env or None)
subp.wait()
