#!python

import argparse
import logging
from yaml import load, Loader

from opusfilter.opusfilter import OpusFilter


logging.basicConfig(level=logging.INFO)
logging.getLogger('mosestokenizer.tokenizer.MosesTokenizer').setLevel(logging.WARNING)

parser = argparse.ArgumentParser(prog='opusfilter',
    description='Filter OPUS bitexts')

parser.add_argument('config', help='YAML configuration file')
parser.add_argument('--overwrite', '-o', help='overwrite existing output files', action='store_true')
parser.add_argument('--last', type=int, default=None, help='Last step to run')
parser.add_argument('--single', type=int, default=None, help='Run only the nth step')

args = parser.parse_args()

configuration = load(open(args.config), Loader=Loader)

of = OpusFilter(configuration)
if args.single is None:
    of.execute_steps(overwrite=args.overwrite, last=args.last)
else:
    of.execute_step(args.single, overwrite=args.overwrite)
