def start_app(worker_queue, status_queue, log_queue): app = create_app() app.fastflix = FastFlix() app.fastflix.log_queue = log_queue app.fastflix.status_queue = status_queue app.fastflix.worker_queue = worker_queue app.fastflix.config = Config() init_fastflix_directories(app) init_logging(app) register_app() upgraded = app.fastflix.config.upgrade_check() if upgraded: # No translation will be possible in this case message( f"Your config file has been upgraded to FastFlix's new YAML config format\n" f"{app.fastflix.config.config_path}", title="Upgraded", ) try: app.fastflix.config.load() except MissingFF: if reusables.win_based and ask_for_ffmpeg(): try: ProgressBar(app, [Task(t("Downloading FFmpeg"), latest_ffmpeg)], signal_task=True) app.fastflix.config.load() except Exception as err: logger.exception(str(err)) sys.exit(1) except Exception: # TODO give edit / delete options logger.exception(t("Could not load config file!")) sys.exit(1) startup_tasks = [ Task(t("Gather FFmpeg version"), ffmpeg_configuration), Task(t("Gather FFmpeg audio encoders"), ffmpeg_audio_encoders), Task(t("Initialize Encoders"), init_encoders), ] try: ProgressBar(app, startup_tasks) except Exception: logger.exception(f'{t("Could not start FastFlix")}!') sys.exit(1) container = Container(app) container.show() app.exec_()
def start_app(worker_queue, status_queue, log_queue, queue_list, queue_lock): app = create_app() app.fastflix = FastFlix(queue=queue_list, queue_lock=queue_lock) app.fastflix.log_queue = log_queue app.fastflix.status_queue = status_queue app.fastflix.worker_queue = worker_queue app.fastflix.config = Config() init_fastflix_directories(app) init_logging(app) register_app() upgraded = app.fastflix.config.upgrade_check() if upgraded: # No translation will be possible in this case message( f"Your config file has been upgraded to FastFlix's new YAML config format\n" f"{app.fastflix.config.config_path}", title="Upgraded", ) try: app.fastflix.config.load() except MissingFF as err: if reusables.win_based and ask_for_ffmpeg(): try: ProgressBar(app, [Task(t("Downloading FFmpeg"), latest_ffmpeg)], signal_task=True) app.fastflix.config.load() except Exception as err: logger.exception(str(err)) sys.exit(1) else: logger.error(f"Could not find {err} location, please manually set in {app.fastflix.config.config_path}") sys.exit(1) except Exception: # TODO give edit / delete options logger.exception(t("Could not load config file!")) sys.exit(1) if app.fastflix.config.theme != "system": QtCore.QDir.addSearchPath(app.fastflix.config.theme, str(breeze_styles_path / app.fastflix.config.theme)) file = QtCore.QFile(f"{app.fastflix.config.theme}:stylesheet.qss") file.open(QtCore.QFile.OpenModeFlag.ReadOnly | QtCore.QFile.OpenModeFlag.Text) stream = QtCore.QTextStream(file) data = stream.readAll() if not reusables.win_based: data = data.replace("url(dark:", f"url({str(breeze_styles_path / 'dark')}/") data = data.replace("url(light:", f"url({str(breeze_styles_path / 'light')}/") data = data.replace("url(onyx:", f"url({str(breeze_styles_path / 'onyx')}/") app.setStyleSheet(data) logger.setLevel(app.fastflix.config.logging_level) startup_tasks = [ Task(t("Gather FFmpeg version"), ffmpeg_configuration), Task(t("Gather FFprobe version"), ffprobe_configuration), Task(t("Gather FFmpeg audio encoders"), ffmpeg_audio_encoders), Task(t("Determine OpenCL Support"), ffmpeg_opencl_support), Task(t("Initialize Encoders"), init_encoders), ] try: ProgressBar(app, startup_tasks) except Exception: logger.exception(f'{t("Could not start FastFlix")}!') sys.exit(1) container = Container(app) container.show() try: app.exec_() except Exception: logger.exception("Error while running FastFlix") raise
def start_app(worker_queue, status_queue, log_queue, queue_list, queue_lock): app = create_app() app.fastflix = FastFlix(queue=queue_list, queue_lock=queue_lock) app.fastflix.log_queue = log_queue app.fastflix.status_queue = status_queue app.fastflix.worker_queue = worker_queue app.fastflix.config = Config() init_fastflix_directories(app) init_logging(app) register_app() upgraded = app.fastflix.config.upgrade_check() if upgraded: # No translation will be possible in this case message( f"Your config file has been upgraded to FastFlix's new YAML config format\n" f"{app.fastflix.config.config_path}", title="Upgraded", ) try: app.fastflix.config.load() except MissingFF as err: if reusables.win_based and ask_for_ffmpeg(): try: ProgressBar(app, [Task(t("Downloading FFmpeg"), latest_ffmpeg)], signal_task=True) app.fastflix.config.load() except Exception as err: logger.exception(str(err)) sys.exit(1) else: logger.error( f"Could not find {err} location, please manually set in {app.fastflix.config.config_path}" ) sys.exit(1) except Exception: # TODO give edit / delete options logger.exception(t("Could not load config file!")) sys.exit(1) if app.fastflix.config.flat_ui: app.setStyleSheet(default_mode) logger.setLevel(app.fastflix.config.logging_level) startup_tasks = [ Task(t("Gather FFmpeg version"), ffmpeg_configuration), Task(t("Gather FFprobe version"), ffprobe_configuration), Task(t("Gather FFmpeg audio encoders"), ffmpeg_audio_encoders), Task(t("Initialize Encoders"), init_encoders), ] try: ProgressBar(app, startup_tasks) except Exception: logger.exception(f'{t("Could not start FastFlix")}!') sys.exit(1) container = Container(app) container.show() try: app.exec_() except Exception: logger.exception("Error while running FastFlix") raise