diff --git a/server/objects/AudioFileMetadata.js b/server/objects/AudioFileMetadata.js index 615578f9..bd47538c 100644 --- a/server/objects/AudioFileMetadata.js +++ b/server/objects/AudioFileMetadata.js @@ -4,6 +4,8 @@ class AudioFileMetadata { this.tagArtist = null this.tagGenre = null this.tagTitle = null + this.tagSeries = null + this.tagSeriesPart = null this.tagTrack = null this.tagSubtitle = null this.tagAlbumArtist = null @@ -36,6 +38,8 @@ class AudioFileMetadata { this.tagArtist = metadata.tagArtist || null this.tagGenre = metadata.tagGenre || null this.tagTitle = metadata.tagTitle || null + this.tagSeries = metadata.tagSeries || null + this.tagSeriesPart = metadata.tagSeriesPart || null this.tagTrack = metadata.tagTrack || null this.tagSubtitle = metadata.tagSubtitle || null this.tagAlbumArtist = metadata.tagAlbumArtist || null @@ -54,6 +58,8 @@ class AudioFileMetadata { this.tagArtist = payload.file_tag_artist || null this.tagGenre = payload.file_tag_genre || null this.tagTitle = payload.file_tag_title || null + this.tagSeries = payload.file_tag_series || null + this.tagSeriesPart = payload.file_tag_seriespart || null this.tagTrack = payload.file_tag_track || null this.tagSubtitle = payload.file_tag_subtitle || null this.tagAlbumArtist = payload.file_tag_albumartist || null @@ -72,6 +78,8 @@ class AudioFileMetadata { tagArtist: payload.file_tag_artist || null, tagGenre: payload.file_tag_genre || null, tagTitle: payload.file_tag_title || null, + tagSeries: payload.file_tag_series || null, + tagSeriesPart: payload.file_tag_seriespart || null, tagTrack: payload.file_tag_track || null, tagSubtitle: payload.file_tag_subtitle || null, tagAlbumArtist: payload.file_tag_albumartist || null, diff --git a/server/objects/Book.js b/server/objects/Book.js index 7a80ec5c..295682b4 100644 --- a/server/objects/Book.js +++ b/server/objects/Book.js @@ -275,10 +275,19 @@ class Book { { tag: 'tagGenre', key: 'genres' + }, + { + tag: 'tagSeries', + key: 'series' + }, + { + tag: 'tagSeriesPart', + key: 'volumeNumber' } ] var updatePayload = {} + // Metadata is only mapped to the book if it is empty MetadataMapArray.forEach((mapping) => { if (audioFileMetadata[mapping.tag]) { // Genres can contain multiple diff --git a/server/utils/prober.js b/server/utils/prober.js index 7db7eedb..eec75d13 100644 --- a/server/utils/prober.js +++ b/server/utils/prober.js @@ -157,6 +157,8 @@ function parseTags(format, verbose) { file_tag_comment: tryGrabTags(format, 'comment', 'comm', 'com'), file_tag_description: tryGrabTags(format, 'description', 'desc'), file_tag_genre: tryGrabTags(format, 'genre', 'tcon', 'tco'), + file_tag_series: tryGrabTag(format, 'series'), + file_tag_seriespart: tryGrabTag(format, 'series-part'), // Not sure if these are actually used yet or not file_tag_creation_time: tryGrabTag(format, 'creation_time'), @@ -165,8 +167,6 @@ function parseTags(format, verbose) { file_tag_releasetime: tryGrabTags(format, 'releasetime', 'tdrl'), file_tag_movementname: tryGrabTags(format, 'movementname', 'mvnm'), file_tag_movement: tryGrabTags(format, 'movement', 'mvin'), - file_tag_series: tryGrabTag(format, 'series'), - file_tag_seriespart: tryGrabTag(format, 'series-part'), file_tag_genre1: tryGrabTags(format, 'tmp_genre1', 'genre1'), file_tag_genre2: tryGrabTags(format, 'tmp_genre2', 'genre2'), } @@ -176,11 +176,12 @@ function parseTags(format, verbose) { } } - var keysToLookOutFor = ['file_tag_genre1', 'file_tag_genre2', 'file_tag_genre', 'file_tag_series', 'file_tag_seriespart', 'file_tag_movement', 'file_tag_movementname', 'file_tag_wwwaudiofile', 'file_tag_contentgroup', 'file_tag_releasetime'] - var success = keysToLookOutFor.find(key => !!tags[key]) - if (success) { - Logger.debug('Notable!', success) - } + var keysToLookOutFor = ['file_tag_genre1', 'file_tag_genre2', 'file_tag_series', 'file_tag_seriespart', 'file_tag_movement', 'file_tag_movementname', 'file_tag_wwwaudiofile', 'file_tag_contentgroup', 'file_tag_releasetime'] + keysToLookOutFor.forEach((key) => { + if (tags[key]) { + Logger.debug(`Notable! ${key} => ${tags[key]}`) + } + }) return tags }