#! /usr/bin/env python

import phrydy
from phrydy import MediaFile
from phrydy.doc import print_debug, print_dict_sorted, get_doc
import argparse
from phrydy._version import get_versions



def description():
    """Build the description string."""
    return '''\
    Debugging tool of the Python package “phrydy”, an easy \
    wrapper around the “mutagen” library.
    ''' + get_doc()

parser = argparse.ArgumentParser(
    formatter_class=argparse.RawDescriptionHelpFormatter,
    description=description()
)

parser.add_argument(
    'audio',
    help='A audio file',
    type=file,
)

parser.add_argument(
    '-c',
    '--color',
    help='Colorize the output',
    action='store_true',
)

parser.add_argument(
    '-v',
    '--version',
    action='version',
    version='%(prog)s {version}'.format(version=get_versions()['version'])
)

args = parser.parse_args()

if args.audio:
    print('phrydy version ' + phrydy.__version__)

    print_debug(
        media_file=args.audio.name,
        MediaClass=MediaFile,
        field_generator=MediaFile.readable_fields,
        color=args.color,
    )
