diff options
| author | Robert Honz <exislow+github@gmail.com> | 2024-04-20 13:50:54 +0200 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2024-04-20 13:50:54 +0200 |
| commit | 519e856b1477d3cad4da620ab9441aff86042ea7 (patch) | |
| tree | 604530b4ff2bd1bc98b52cf4abbcd3249bc32488 | |
| parent | b972ec01b696267653aaa753e15995cd5b4af720 (diff) | |
| download | tidal-dl-ng-519e856b1477d3cad4da620ab9441aff86042ea7.tar.gz | |
🛠️ Values for options passed via command line will be converted to int if necessary. Fixes #83
Settings save fix after refactoring to `StrEnum`.
| -rw-r--r-- | tidal_dl_ng/config.py | 5 | ||||
| -rw-r--r-- | 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) |
