From 519e856b1477d3cad4da620ab9441aff86042ea7 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Sat, 20 Apr 2024 13:50:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Values=20for=20options?= =?UTF-8?q?=20passed=20via=20command=20line=20will=20be=20converted=20to?= =?UTF-8?q?=20int=20if=20necessary.=20Fixes=20#83=20Settings=20save=20fix?= =?UTF-8?q?=20after=20refactoring=20to=20`StrEnum`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tidal_dl_ng/config.py | 5 +++++ tidal_dl_ng/gui.py | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tidal_dl_ng/config.py b/tidal_dl_ng/config.py index 165bdc5..647ed7d 100644 --- a/tidal_dl_ng/config.py +++ b/tidal_dl_ng/config.py @@ -34,6 +34,11 @@ class BaseConfig: f.write(data_json) def set_option(self, key: str, value: Any) -> None: + tmp_data: Any = getattr(self.data, key) + + if isinstance(tmp_data, int) and not isinstance(value, int): + value = int(value) + setattr(self.data, key, value) def read(self, path: str) -> bool: diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py index 5930483..557f083 100644 --- a/tidal_dl_ng/gui.py +++ b/tidal_dl_ng/gui.py @@ -2,6 +2,7 @@ import math import sys import time from collections.abc import Callable +from enum import Enum from requests.exceptions import HTTPError @@ -297,12 +298,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): def apply_settings(self, settings: Settings): l_cb = [ - {"element": self.cb_quality_audio, "setting": settings.data.quality_audio.name, "default_id": 1}, - {"element": self.cb_quality_video, "setting": settings.data.quality_video.name, "default_id": 0}, + {"element": self.cb_quality_audio, "setting": settings.data.quality_audio, "default_id": 1}, + {"element": self.cb_quality_video, "setting": settings.data.quality_video, "default_id": 0}, ] for item in l_cb: - idx = item["element"].findText(item["setting"]) + needle: str | int = item["setting"].name if isinstance(item["setting"], Enum) else item["setting"] + idx = item["element"].findText(needle) if idx > -1: item["element"].setCurrentIndex(idx)