#!python
# -*- coding: utf-8 -*-
"""TcEx Library Builder."""
import argparse
import sys
import traceback

import colorama as c

from tcex import TcExLib

# Python 2 unicode
if sys.version_info[0] == 2:
    reload(sys)  # noqa: F821; pylint: disable=E0602
    sys.setdefaultencoding('utf-8')  # pylint: disable=E1101

# autoreset colorama
c.init(autoreset=True, strip=False)

parser = argparse.ArgumentParser()
parser.add_argument('--app_name', help='(Advanced) Fully qualified name of App.')
parser.add_argument('--app_path', help='(Advanced) Fully qualified path of App.')
parser.add_argument(
    '--config',
    help='(Advanced) Configuration file for gen lib. (Default: tcex.json)',
    default='tcex.json',
)
parser.add_argument('--no_cache_dir', action='store_true', help='Do not use pip cache directory.')
parser.add_argument(
    '--branch', help='Build tcex from specified git branch instead of downloading from PyPi.'
)
parser.add_argument('--proxy_host', help='(Advanced) Hostname of the proxy.', default=None)
parser.add_argument('--proxy_port', help='(Advanced) Port of the proxy.', default=None)
parser.add_argument('--proxy_user', help='(Advanced) Username for the proxy.', default=None)
parser.add_argument('--proxy_pass', help='(Advanced) Password for the proxy.', default=None)
args, extra_args = parser.parse_known_args()


if __name__ == '__main__':
    try:
        tcl = TcExLib(args)
        tcl.install_libs()
        sys.exit(tcl.exit_code)
    except Exception:
        # TODO: Update this, possibly raise
        print('{}{}{}'.format(c.Style.BRIGHT, c.Fore.RED, traceback.format_exc()))
        sys.exit(1)
