Merge pull request #585 from exislow:568-delimiter-to-semicolon-pls-add-option-to-change-to-whatever-the-user-wants
feat(metadata): ✨ add customizable metadata delimiters for artists
This commit is contained in:
@@ -1208,12 +1208,12 @@ class Download:
|
||||
lyrics=lyrics,
|
||||
copy_right=copy_right,
|
||||
title=name_builder_title(track),
|
||||
artists=name_builder_artist(track),
|
||||
artists=name_builder_artist(track, delimiter=self.settings.data.metadata_delimiter_artist),
|
||||
album=track.album.name if track.album else "",
|
||||
tracknumber=track.track_num,
|
||||
date=release_date,
|
||||
isrc=isrc,
|
||||
albumartist=name_builder_album_artist(track),
|
||||
albumartist=name_builder_album_artist(track, delimiter=self.settings.data.metadata_delimiter_album_artist),
|
||||
totaltrack=track.album.num_tracks if track.album and track.album.num_tracks else 1,
|
||||
totaldisc=track.album.num_volumes if track.album and track.album.num_volumes else 1,
|
||||
discnumber=track.volume_num if track.volume_num else 1,
|
||||
|
||||
@@ -10,11 +10,11 @@ from tidal_dl_ng.constants import FAVORITES, MediaType
|
||||
from tidal_dl_ng.helper.exceptions import MediaUnknown
|
||||
|
||||
|
||||
def name_builder_artist(media: Track | Video | Album) -> str:
|
||||
return "; ".join(artist.name for artist in media.artists)
|
||||
def name_builder_artist(media: Track | Video | Album, delimiter: str = "; ") -> str:
|
||||
return delimiter.join(artist.name for artist in media.artists)
|
||||
|
||||
|
||||
def name_builder_album_artist(media: Track | Album, first_only: bool = False) -> str:
|
||||
def name_builder_album_artist(media: Track | Album, first_only: bool = False, delimiter: str = "; ") -> str:
|
||||
artists_tmp: [str] = []
|
||||
artists: [Artist] = media.album.artists if isinstance(media, Track) else media.artists
|
||||
|
||||
@@ -25,7 +25,7 @@ def name_builder_album_artist(media: Track | Album, first_only: bool = False) ->
|
||||
if first_only:
|
||||
break
|
||||
|
||||
return "; ".join(artists_tmp)
|
||||
return delimiter.join(artists_tmp)
|
||||
|
||||
|
||||
def name_builder_title(media: Track | Video | Mix | Playlist | Album | Video) -> str:
|
||||
|
||||
@@ -50,6 +50,8 @@ class Settings:
|
||||
window_y: int = 50
|
||||
window_w: int = 1200
|
||||
window_h: int = 800
|
||||
metadata_delimiter_artist: str = "; "
|
||||
metadata_delimiter_album_artist: str = "; "
|
||||
|
||||
|
||||
@dataclass_json
|
||||
@@ -109,6 +111,8 @@ class HelpSettings:
|
||||
window_y: str = "Y-Coordinate of saved window location."
|
||||
window_w: str = "Width of saved window size."
|
||||
window_h: str = "Height of saved window size."
|
||||
metadata_delimiter_artist: str = "Metadata tag delimiter for multiple artists. Default: '; '"
|
||||
metadata_delimiter_album_artist: str = "Metadata tag delimiter for multiple album artists. Default: '; '"
|
||||
|
||||
|
||||
@dataclass_json
|
||||
|
||||
Reference in New Issue
Block a user