#!/usr/bin/env python3
import argparse
import sys

from webdriver_controller.controller import WebdriverController


def get_parser():
    parser = argparse.ArgumentParser(description='Webdriver controller')
    sub_parsers = parser.add_subparsers(dest='commands')
    sp_download = sub_parsers.add_parser('download', help='download Selenium Webdriver binaries')
    sp_cleanup = sub_parsers.add_parser('cleanup', help='remove downloaded Selenium Webdriver binaries')
    sp_list = sub_parsers.add_parser('list', help='list downloaded Selenium Webdriver version')

    return parser

def main():
    if sys.version_info[0] != 3:
        print('Python 3.x is required')
        sys.exit(1)

    parser = get_parser()

    if len(sys.argv)==1:
        parser.print_help()
        sys.exit(0)

    args = parser.parse_args()
    controller = WebdriverController()

    if args.commands == 'cleanup':
        controller.cleanup()

    if args.commands == 'download':
        controller.download()

    if args.commands == 'list':
        controller.list()


if __name__ == '__main__':
    sys.exit(main())
