#!/usr/bin/env python

import os
import argparse
from coin import get_cache_dir, install_python_package, install_raw_package

def get_parser():
    parser = argparse.ArgumentParser(description='Copy Installer')
    parser.add_argument('--to', help='Output folder, current working directory by default', default=os.getcwd())
    parser.add_argument('--cache_folder', help='Folder name used to store package in cache', default=None)
    parser.add_argument('--ignore-cache', action='store_true')

    subparsers = parser.add_subparsers(help='available commands', dest='action')

    sub = subparsers.add_parser('py', help="Install python package")
    sub.add_argument('url', help='Package url')

    sub = subparsers.add_parser('raw', help="Install raw archive")
    sub.add_argument('url', help='Archive url')
    sub.add_argument('--subfolder', help='Folder to put all contents of archive', default=None)


    return parser


if __name__=='__main__':
    parser = get_parser()
    args = parser.parse_args()

    cache_dir = get_cache_dir()

    if args.action == 'py':
        install_python_package(cache_dir, args.cache_folder, args.url, args.ignore_cache, args.to)

    if args.action == 'raw':
        install_raw_package(cache_dir, args.cache_folder, args.url, args.ignore_cache, args.to, args.subfolder)