#!/usr/bin/env python

from spyt.dependency_utils import require_yt_client
require_yt_client()

from yt.wrapper import YtClient  # noqa: E402
from spyt.standalone import shell  # noqa: E402
from spyt import utils as spark_utils  # noqa: E402


def main(raw_args=None):
    parser = spark_utils.get_default_arg_parser(description="Spark Shell")
    parser.add_argument("--spyt-version", required=False)

    args, unknown_args = spark_utils.parse_args(parser, raw_args=raw_args)
    yt_client = YtClient(proxy=args.proxy, token=spark_utils.default_token())
    shell(discovery_path=args.discovery_path,
          spark_home=spark_utils.get_spark_home(),
          spark_args=unknown_args,
          spyt_version=args.spyt_version,
          client=yt_client)


if __name__ == '__main__':
    main()
