summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-04-20 11:38:21 +0200
committerRobert Honz <exislow+github@gmail.com>2024-04-20 11:38:21 +0200
commita3ef1b8cbab3c07e62ec021c8de677be50cf3713 (patch)
tree098d050fd8fdaa9d26617e032b33e1d406290200
parentc09781cd8b392e5b51a2b7403b95aa2d136592a0 (diff)
downloadtidal-dl-ng-a3ef1b8cbab3c07e62ec021c8de677be50cf3713.tar.gz
✨ Explicit versions can be tagged with filename placeholder `track_explicit` and `album_explicit`. Fixes #82
-rw-r--r--tidal_dl_ng/helper/path.py6
-rw-r--r--tidal_dl_ng/model/cfg.py8
2 files changed, 11 insertions, 3 deletions
diff --git a/tidal_dl_ng/helper/path.py b/tidal_dl_ng/helper/path.py
index 1900441..f24bdaf 100644
--- a/tidal_dl_ng/helper/path.py
+++ b/tidal_dl_ng/helper/path.py
@@ -131,6 +131,12 @@ def format_str_media(name: str, media: Track | Album | Playlist | UserPlaylist |
case "track_quality":
if isinstance(media, Track):
result = ", ".join(tag for tag in media.media_metadata_tags)
+ case "track_explicit":
+ if isinstance(media, Track | Video):
+ result = " (Explicit)" if media.explicit else ""
+ case "album_explicit":
+ if isinstance(media, Album):
+ result = " (Explicit)" if media.explicit else ""
except Exception as e:
# TODO: Implement better exception logging.
print(e)
diff --git a/tidal_dl_ng/model/cfg.py b/tidal_dl_ng/model/cfg.py
index 6377a17..7910644 100644
--- a/tidal_dl_ng/model/cfg.py
+++ b/tidal_dl_ng/model/cfg.py
@@ -25,11 +25,13 @@ class Settings:
download_base_path: str = "~/download"
quality_audio: Quality = Quality.low_320k
quality_video: QualityVideo = QualityVideo.P480
- format_album: str = "Albums/{album_artist} - {album_title}/{album_track_num}. {artist_name} - {track_title}"
+ format_album: str = (
+ "Albums/{album_artist} - {album_title}{album_explicit}/{album_track_num}. {artist_name} - {track_title}"
+ )
format_playlist: str = "Playlists/{playlist_name}/{artist_name} - {track_title}"
format_mix: str = "Mix/{mix_name}/{artist_name} - {track_title}"
- format_track: str = "Tracks/{artist_name} - {track_title}"
- format_video: str = "Videos/{artist_name} - {track_title}"
+ format_track: str = "Tracks/{artist_name} - {track_title}{track_explicit}"
+ format_video: str = "Videos/{artist_name} - {track_title}{track_explicit}"
video_convert_mp4: bool = True
path_binary_ffmpeg: str = ""
metadata_cover_dimension: CoverDimensions = CoverDimensions.Px320