#!/usr/bin/env python

import os
import sys
import argparse
import PanChIP.commands as commands

class Panchip(object):

    def __init__(self):
        parser = commands.panchip_parser()

        option_idx = 1
        while (option_idx < len(sys.argv) and
               sys.argv[option_idx].startswith('-')):
            option_idx += 1

        args = parser.parse_args(sys.argv[1:option_idx+1])
        
        if args.command is None or not hasattr(self, args.command):
            print('Unrecognized command')
            parser.print_help()
            exit(1)
            
    def init(self, argv):
        parser = commands.init_parser()

        args = parser.parse_args(argv[2:])
        
        import subprocess

        lib_dir = os.path.abspath(args.library_directory)
        os.makedirs(lib_dir, exist_ok = True)
        
        import gdown
        
        subprocess.call(['gdown', '-O', lib_dir, 'https://drive.google.com/uc?id=1Ccc1InE1WIvuFGKFz9ki8KwEvefpBlHu'])
        
        import zipfile
        
        lib_zip_path = lib_dir + 'Test.zip'
        with zipfile.ZipFile(lib_zip_path,'r') as zip_ref:
            zip_ref.extractall('Test')
        
        
    def analysis(self, argv):
        parser = commands.analysis_parser()

        args = parser.parse_args(argv[2:])
            

if __name__ == '__main__':
    Panchip()
