Exemplo n.º 1
0
def scct_app(tmpdir_factory, caplog):
    caplog.set_level(logging.ERROR)
    app = QApplication(sys.argv)
    app.setStyle(QStyleFactory.create('Fusion'))
    tmp_dir = tmpdir_factory.getbasetemp()
    if tmp_dir.join('profiles').check(exists=0):
        profile_dir = tmp_dir.mkdir('profiles').mkdir(
            hex(random.randint(49152, 65535))[2:])
        casting_html_src = os.path.normpath(
            os.path.join(os.path.dirname(__file__), '../casting_html'))
        assert os.path.exists(casting_html_src)
        casting_html = profile_dir.join('casting_html')
        if casting_html.check(exists=0):
            shutil.copytree(casting_html_src, casting_html)
    scctool.settings.loadSettings(str(tmp_dir), True)
    cntlr = MainController()
    main_window = MainWindow(cntlr, app, False)
    main_window.show()
    yield (main_window, cntlr)
    main_window.close()
    cntlr.cleanUp()
    app.exit(1)
    for record in caplog.records:
        assert record.levelname != 'CRITICAL'
        assert record.levelname != 'ERROR'
Exemplo n.º 2
0
def main_window(app, showChangelog=False):
    """Run the main exectuable."""
    from PyQt5.QtCore import QSize
    from PyQt5.QtGui import QIcon
    from scctool.controller import MainController
    from scctool.view.main import MainWindow

    try:
        icon = QIcon()
        icon.addFile(scctool.settings.getResFile('scct.ico'), QSize(32, 32))
        icon.addFile(scctool.settings.getResFile('scct.png'), QSize(256, 256))
        app.setWindowIcon(icon)
        cntlr = MainController()
        logger.info("Starting... v{}".format(__version__))
        MainWindow(cntlr, app, showChangelog)
        return cntlr

    except Exception:
        logger.exception("Exception in main_window")
        raise