#!/usr/bin/env python
# -*- coding: utf-8 -*-
# diamond-patterns (cc) 2016 Ian Dennis Miller

import click
import pkg_resources
import os
import diamond_patterns


@click.group()
@click.option('--skel', help='name of skel to apply.')
@click.pass_context
def cli(ctx, skel):
    ctx.obj['skel'] = skel


@cli.command('scaffold', short_help='scaffold a folder with a skel.')
@click.pass_context
def scaffold(ctx):
    if ctx.obj['skel'] in pkg_resources.resource_listdir('diamond_patterns', 'skels'):
        filename = pkg_resources.resource_filename('diamond_patterns', 'skels')
        pathname = os.path.dirname(os.path.abspath(diamond_patterns.__file__))
        print(os.path.join(pathname, filename))
        os.system("mrbob -w {0}/{1} -O .".format(os.path.join(pathname, filename), ctx.obj['skel']))
    else:
        print("unrecognized skel: {0}".format(ctx.obj['skel']))


@cli.command('list', short_help='list available skels.')
def list_skels():
    print("Available skels:\n")
    for skel in pkg_resources.resource_listdir('diamond_patterns', 'skels'):
        print("- {0}".format(skel))
    print("")


@cli.command('version', short_help='show version')
def version():
    from diamond_patterns.__meta__ import __version__
    print(__version__)


if __name__ == '__main__':
    cli(obj={})
