#!/usr/bin/python3
"""Main fand script"""

import sys
import os

from fand import __version__

PROG = os.path.basename(sys.argv[0])
HELP = f"""\
Usage: {PROG} [--version] [--help] SERVICE [SERVICE_ARGS]

{__doc__}

Arguments:
  --version        Print version information
  --help           Print this help message
  SERVICE          Select which service to use
  SERVICE_ARGS     Argument to pass to the SERVICE

Known services:
  server           Launch the fand server
  fanctl           Launch the fand controller
  clientrpi        Launch the fand client for Raspberry Pi
"""

if len(sys.argv) >= 2:
    arg = sys.argv.pop(1)
else:
    print(HELP)
    sys.exit("Missing SERVICE parameter")

if arg in ['--version', '-v', '-V']:
    print(PROG + ' ' + __version__)
    sys.exit(0)
elif arg in ['--help', '-h']:
    print(HELP)
    sys.exit(0)
elif arg == 'server':
    sys.argv[0] += ' ' + arg
    from fand.server import main
    main()
elif arg == 'fanctl':
    sys.argv[0] += ' ' + arg
    from fand.fanctl import main
    main()
elif arg == 'clientrpi':
    sys.argv[0] += ' ' + arg
    from fand.clientrpi import main
    main()
else:
    print(HELP)
    sys.exit(f"Unknown argument: {arg}")
