#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import argparse
import launchpadtools


def _parse_cmd_arguments():
    parser = argparse.ArgumentParser(
        description='Clone any repository or directory.'
        )
    parser.add_argument(
        'source',
        metavar='SOURCE',
        type=str,
        help='source repository/directory'
        )
    parser.add_argument(
        'destination',
        metavar='DEST',
        type=str,
        help='destination directory'
        )
    parser.add_argument(
        '--ignore-hidden',
        help='Ignore hidden files directories. (Default: false)',
        action='store_true',
        default=False
        )
    parser.add_argument(
        '--subdirectory',
        type=str,
        help='Clone only given subdirectory of SOURCE'
        )
    parser.add_argument(
        '-v', '--version',
        action='version',
        version='launchpadtools %s' % launchpadtools.__about__.__version__
        )
    return parser.parse_args()


if __name__ == '__main__':
    args = _parse_cmd_arguments()
    launchpadtools.clone.clone(
        args.source,
        args.destination,
        subdirectory=args.subdirectory,
        ignore_hidden=args.ignore_hidden
        )
