#!python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2016 Kim Koomen <koomen@protonail.com>
#
# Distributed under terms of the MIT license.

from omnitagger.omnitagger import OmniTagger
from omnitagger import __version__
import argparse
import sys

if __name__ == '__main__':
    if len(sys.argv) > 1 and sys.argv[1] in ['-v', '--version']:
        print('{}'.format(__version__))
        sys.exit(0)

    parser = argparse.ArgumentParser()
    parser.add_argument(
        '-e', '--exceptions',
        default=[],
        nargs='+',
        help='Enter full artist or file names that you do not want to be title cased',
        required=False
    )
    parser.add_argument(
        '-r', '--recursive',
        action='store_true',
        default=False,
        help='Grab files recursively',
        required=False
    )
    parser.add_argument(
        '-c', '--clear',
        action='store_true',
        default=False,
        help='Clear all existing metadata on all files before inserting new ones',
        required=False
    )
    parser.add_argument(
        '-f', '--filetypes',
        default=['.mp3', '.ogg', '.flac'],
        nargs='+',
        help='Enter filetype(s) the script should only look for (.mp3/.flac/.ogg)',
        required=False
    )
    parser.add_argument(
        '-d', '--remove-original',
        action='store_true',
        default=False,
        help='Removes the original file after running',
        required=False
    )
    parser.add_argument(
        '-t', '--titlecase-articles',
        action='store_true',
        default=False,
        help='Titlecase articles such as: a, an, and, as, that etc..',
        required=False
    )
    parser.add_argument(
        '-l', '--fingerprint-lookup',
        action='store_true',
        default=False,
        help='Enable fingerprint lookup for files (much longer process)',
        required=False
    )
    parser.add_argument(
        '-i', '--ignore-files',
        default=[],
        nargs='+',
        help='Specify the files you want omnitagger to ignore completely',
        required=False
    )
    parser.add_argument(
        '-s', '--skip-beautifying',
        action='store_true',
        default=False,
        help='If your files are already correct, omnitagger wil not beautify them',
        required=False
    )

    args = parser.parse_args()
    OmniTagger(args).main()
