summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-04-20 13:50:54 +0200
committerRobert Honz <exislow+github@gmail.com>2024-04-20 13:50:54 +0200
commit519e856b1477d3cad4da620ab9441aff86042ea7 (patch)
tree604530b4ff2bd1bc98b52cf4abbcd3249bc32488
parentb972ec01b696267653aaa753e15995cd5b4af720 (diff)
downloadtidal-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.py5
-rw-r--r--tidal_dl_ng/gui.py8
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)