summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexislow <exislow@users.noreply.github.com>2024-11-06 10:04:24 +0100
committerGitHub <noreply@github.com>2024-11-06 10:04:24 +0100
commit41bf83d5dc758904fb66e7b5c1977b398c714aa1 (patch)
tree50b9edda259cc99b78142b06a4226f91a1dcd6b2
parent5ff5167983b8cfd96fcd163f17d75a8f1517d1ff (diff)
parent5bd65a21bc6b44f04fbb237f373cf17d3061171c (diff)
downloadtidal-dl-ng-41bf83d5dc758904fb66e7b5c1977b398c714aa1.tar.gz
Merge pull request #211 from exislow/pr-fixes
Pr fixes
-rw-r--r--tidal_dl_ng/dialog.py14
-rw-r--r--tidal_dl_ng/download.py15
-rw-r--r--tidal_dl_ng/model/cfg.py5
3 files changed, 22 insertions, 12 deletions
diff --git a/tidal_dl_ng/dialog.py b/tidal_dl_ng/dialog.py
index 1dc9038..cfd4e24 100644
--- a/tidal_dl_ng/dialog.py
+++ b/tidal_dl_ng/dialog.py
@@ -1,4 +1,5 @@
import os.path
+import shutil
import webbrowser
from enum import Enum, StrEnum
from pathlib import Path
@@ -182,10 +183,15 @@ class DialogPreferences(QtWidgets.QDialog):
self,
obj_line_edit: QtWidgets.QLineEdit,
file_mode: QtWidgets.QFileDialog | QtWidgets.QFileDialog.FileMode = QtWidgets.QFileDialog.Directory,
+ path_default: str = None,
):
# If a path is set, use it otherwise the users home directory.
- settings_path: str = os.path.expanduser(obj_line_edit.text()) if obj_line_edit.text() else ""
- dir_current: str = settings_path if settings_path and os.path.exists(settings_path) else str(Path.home())
+ path_settings: str = os.path.expanduser(obj_line_edit.text()) if obj_line_edit.text() else ""
+ # Check if obj_line_edit is empty but path_default can be usd instead
+ path_settings = (
+ path_settings if path_settings else os.path.expanduser(path_default) if path_default else path_settings
+ )
+ dir_current: str = path_settings if path_settings and os.path.exists(path_settings) else str(Path.home())
dialog: QtWidgets.QFileDialog = QtWidgets.QFileDialog()
# Set to directory mode only but show files.
@@ -222,7 +228,9 @@ class DialogPreferences(QtWidgets.QDialog):
self.ui.pb_download_base_path.clicked.connect(lambda x: self.dialog_chose_file(self.ui.le_download_base_path))
self.ui.pb_path_binary_ffmpeg.clicked.connect(
lambda x: self.dialog_chose_file(
- self.ui.le_path_binary_ffmpeg, file_mode=QtWidgets.QFileDialog.FileMode.ExistingFiles
+ self.ui.le_path_binary_ffmpeg,
+ file_mode=QtWidgets.QFileDialog.FileMode.ExistingFiles,
+ path_default=shutil.which("ffmpeg"),
)
)
diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py
index 90e1d75..d6b9e15 100644
--- a/tidal_dl_ng/download.py
+++ b/tidal_dl_ng/download.py
@@ -75,15 +75,14 @@ class Download:
if not self.settings.data.path_binary_ffmpeg and (
self.settings.data.video_convert_mp4 or self.settings.data.extract_flac
):
- self.settings.data.path_binary_ffmpeg = shutil.which("ffmpeg")
- if not self.settings.data.path_binary_ffmpeg:
- self.settings.data.video_convert_mp4 = False
- self.settings.data.extract_flac = False
+ self.settings.data.video_convert_mp4 = False
+ self.settings.data.extract_flac = False
- self.fn_logger.error(
- "FFmpeg is not set. Videos can be downloaded but will not be processed. FLAC cannot be extracted from MP4 containers. "
- "Make sure FFmpeg is installed. The path to the binary can be specified (`path_binary_ffmpeg`)."
- )
+ self.fn_logger.error(
+ "FFmpeg path is not set. Videos can be downloaded but will not be processed. FLAC cannot be "
+ "extracted from MP4 containers. Make sure FFmpeg is installed. The path to the FFmpeg binary must "
+ "be set in (`path_binary_ffmpeg`)."
+ )
def _download(
self,
diff --git a/tidal_dl_ng/model/cfg.py b/tidal_dl_ng/model/cfg.py
index 41364c1..bda0ae9 100644
--- a/tidal_dl_ng/model/cfg.py
+++ b/tidal_dl_ng/model/cfg.py
@@ -72,7 +72,10 @@ class HelpSettings:
"Videos are downloaded as MPEG Transport Stream (TS) files. With this option each video "
"will be converted to MP4. FFmpeg must be installed."
)
- path_binary_ffmpeg: str = "Path to FFmpeg binary. Only necesarry if FFmpeg not present in path."
+ path_binary_ffmpeg: str = (
+ "Path to FFmpeg binary file (executable). Only necessary if FFmpeg not set in $PATH. Mandatory for Windows: "
+ "The directory of `ffmpeg.exe`must be set in %PATH%."
+ )
metadata_cover_dimension: str = (
"The dimensions of the cover image embedded into the track. Possible values: 320x320, 640x640x 1280x1280."
)