#!/usr/bin/python3

"""
@file
@ingroup gui_camgui
@copyright ESO - European Southern Observatory

@brief Motor Status Gui
"""

import pds.dcs.camgui.camgui as camgui
import argparse

import pds.dcs.camgui.logger as log


if __name__ == '__main__':

    options = argparse.ArgumentParser()
    options.add_argument("-d", "--device", type=str, required=True,
                         default="", help="Set motor device.")
    options.add_argument("-a", "--address", type=str, required=True,
                         default="", help="Set PLC address, e.g. opc.tcp://134.171.59.98:4840")
   
    options.add_argument("-n", "--ns", type=int, required=False,
                         default=4, help="Set OPCUA namespace, e.g. 4")
    options.add_argument('-l', '--loglevel', type=str, choices=['INFO', 'DEBUG', 'ERROR'], required=False, default='ERROR',
                        help='set the logging level: INFO|DEBUG|ERROR')
    options.add_argument("-s", "--styleresource", type=str, required=False,
                        default=None, help="Set stylesheet resource, e.g. mystyle.qss")
    options.add_argument("-f", "--stylefile", type=str, required=False,
                        default=None, help="Set stylesheet file, e.g. mystyle.qss")

    args = options.parse_args()

    if args.loglevel == "ERROR":
        logger = log.setup_custom_logger('camgui', log.logging.ERROR)
    if args.loglevel == "INFO":
        logger = log.setup_custom_logger('camgui', log.logging.INFO)
    if args.loglevel == "DEBUG":
        logger = log.setup_custom_logger('camgui', log.logging.DEBUG)


    camgui.dogui(args.device, args.address, args.ns, args.styleresource, args.stylefile)
