import site
import socket
import pathlib
import getpass
import argparse

JUPYTERHUB_URL = 'https://jupyter.rwth-aachen.de'
CHISEL_URL = 'https://github.com/jpillora/chisel/releases/download/v1.7.6/chisel_1.7.6_linux_amd64.gz'
SSHFS_URL = 'https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/f/fuse-sshfs-2.10-1.el7.x86_64.rpm'

HOME_PATH = str(pathlib.Path.home())

LOCAL_BIN_PATH = f'{site.USER_BASE}/bin'

CHISEL_PATH = f'{LOCAL_BIN_PATH}/chisel'
JUPYTER_PATH = f'{LOCAL_BIN_PATH}/jupyterhub-singleuser'
SSHFS_PATH = f'{LOCAL_BIN_PATH}/sshfs'

USER_MOUNT_PATH = f'{HOME_PATH}/jupyter-home'
MOUNT_PATH = f'{HOME_PATH}/jupyter-home'

def get_config():
    is_rwth = socket.gethostname().endswith('hpc.itc.rwth-aachen.de')

    parser = argparse.ArgumentParser('rwth-jupyter')

    parser.add_argument('--rwth', '-r', default=is_rwth)

    parser.add_argument('--token', '-t')
    parser.add_argument('--token-path', '-T', default=f'{HOME_PATH}/.jupyter/token')

    parser.add_argument('--mount', '-m', default=True)
    parser.add_argument('--mount-point', '-M', default=MOUNT_PATH)

    parser.add_argument('--jupyterhub-url', '-J', default=JUPYTERHUB_URL)
    parser.add_argument('--sshfs-url', '-S', default=SSHFS_URL)
    parser.add_argument('--chisel-url', '-C', default=CHISEL_URL)

    return parser.parse_args()