Fix [object Object] in M3U files and database reference error
M3U generator was calling .join() on an array of artist objects instead of extracting .name first, producing "[object Object] - Track Name". Now handles all artist formats: array of objects, array of strings, single string, single object. Also fix "name 'database' is not defined" error when updating album year in post-processing — was using bare 'database' instead of get_database() helper.
This commit is contained in:
parent
55f0532f30
commit
3d26c2b140
2 changed files with 9 additions and 2 deletions
|
|
@ -18403,7 +18403,7 @@ def _embed_source_ids(audio_file, metadata: dict):
|
|||
_pp_album_name = metadata.get('album', '')
|
||||
_pp_artist_name = metadata.get('album_artist', '') or metadata.get('artist', '')
|
||||
if _pp_album_name and _pp_artist_name:
|
||||
conn = database._get_connection()
|
||||
conn = get_database()._get_connection()
|
||||
try:
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("""
|
||||
|
|
|
|||
|
|
@ -12183,7 +12183,14 @@ function generateM3UContent(playlistId) {
|
|||
|
||||
tracks.forEach((track, index) => {
|
||||
const durationSeconds = track.duration_ms ? Math.floor(track.duration_ms / 1000) : -1;
|
||||
const artists = Array.isArray(track.artists) ? track.artists.join(', ') : (track.artists || 'Unknown Artist');
|
||||
let artists = 'Unknown Artist';
|
||||
if (Array.isArray(track.artists)) {
|
||||
artists = track.artists.map(a => (typeof a === 'object' && a !== null) ? (a.name || '') : String(a)).filter(Boolean).join(', ') || 'Unknown Artist';
|
||||
} else if (typeof track.artists === 'string') {
|
||||
artists = track.artists;
|
||||
} else if (track.artist) {
|
||||
artists = typeof track.artist === 'object' ? (track.artist.name || 'Unknown Artist') : String(track.artist);
|
||||
}
|
||||
|
||||
// Check library match status from the modal UI
|
||||
const matchEl = document.getElementById(`match-${playlistId}-${index}`);
|
||||
|
|
|
|||
Loading…
Reference in a new issue