#!/usr/bin/python3
"""
@file
@ingroup m1fdirgui
@copyright ESO - European Southern Observatory

@brief M1 FDIR engineering GUI 
M1 Engineering GUI - Failure Detection Isolation and Recovery
"""
import sys
import argparse
from m1fdirgui.applicationwindow import ApplicationWindow
from enggui.utils.logger import LoggerEngGui
from taurus.external.qt.QtWidgets import QApplication
# from taurus.qt.qtgui.application import TaurusApplication


# ELT-CII  imports
from elt.log import CiiLogManager

if __name__ == '__main__':
    """
    m1FdirGui Engineering GUI displays and controls  the parameters
    of the M1 system.

    Startup GUI:
      % m1FdirGui
     

    Check consul    
     % seqtool gui
     % systemctl status consul
     % systemctl start consul

    """

    # import logging
    # logging.basicConfig()

    app = QApplication()
    """
    app = TaurusApplication(
        # cmd_line_parser=None,
        # app_name="M1 Engineering GUI",
        # app_version='0.4.0',
        # org_name='ESO',
        # org_domain='eso.org',
        )
    """
    system = "FDIR"
    name_gui = "m1" + system.lower().title() + "Gui" # m1FdrGui

    parser = argparse.ArgumentParser(description=name_gui + ' Engineering GUI')
    args = parser.parse_args()

    # Configure logger
    # May be this should be handled centrally
    LOGGER = LoggerEngGui("m1fdirgui")
    LOGGER.set_log_level('INFO')  # TODO

    # taurus.setLogLevel(getattr(taurus, log_level))
    window = ApplicationWindow(LOGGER)
    title = "Failure Detection Isolation and Recovery"  # Monitor and Control GUI
    window.setWindowTitle(title)
    app.setApplicationName(title)
    window.set_gui_params("M1", "FDIR")
    window.show()
    sys.exit(app.exec_())
