#!/usr/bin/env python3
# pylint: disable=invalid-name
#  -*- coding: utf-8 -*-
# *****************************************************************************
# Copyright (c) 2015-2016 by the authors, see LICENSE
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# Module authors:
#   Alexander Lenz <alexander.lenz@frm2.tum.de>
#
# *****************************************************************************

from __future__ import print_function

import sys
from os import path

# Add import path for inplace usage
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))

import mlzlog

from secop.gui.qt import QApplication
from secop.gui.mainwindow import MainWindow


def main(argv=None):
    if argv is None:
        argv = sys.argv

    if '-h' in argv or '--help' in argv:
        print("Usage: secop-gui [-d] [-h] [host:[port]]")
        print()
        print("Option   GNU long option   Meaning")
        print("-h       --help            Show this message")
        print("-d       --debug           Enable debug output")
        print()
        print("if not given, host defaults to 'localhost' and port to 10767")
        sys.exit(0)

    if '-d' in argv or '--debug' in argv:
        mlzlog.initLogging('gui', 'debug')
    else:
        mlzlog.initLogging('gui', 'info')

    app = QApplication(argv)

    hosts = [host for host in argv[1:] if not host.startswith('-')]
    if not hosts:
        hosts = ['localhost:10767']
    win = MainWindow(hosts)
    win.show()

    return app.exec_()


if __name__ == '__main__':
    sys.exit(main(sys.argv))
