mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-08-05 10:44:32 +02:00
Update audio file scanner to support multiple series in series/series-part tags separated by semicolon if they match #4136
This commit is contained in:
parent
89d0257a76
commit
84f99370ee
1 changed files with 21 additions and 0 deletions
|
@ -308,6 +308,27 @@ class AudioFileScanner {
|
|||
bookMetadata.series = series
|
||||
}
|
||||
} else {
|
||||
// Detect if multiple series are in the series & series-part tags.
|
||||
// Note: This requires that every series has a sequence and that they are separated by a semicolon.
|
||||
if (value.includes(';') && audioFileMetaTags.tagSeriesPart?.includes(';')) {
|
||||
const seriesSplit = value
|
||||
.split(';')
|
||||
.map((s) => s.trim())
|
||||
.filter(Boolean)
|
||||
const seriesSequenceSplit = audioFileMetaTags.tagSeriesPart
|
||||
.split(';')
|
||||
.map((s) => s.trim())
|
||||
.filter(Boolean)
|
||||
if (seriesSplit.length > 1 && seriesSplit.length === seriesSequenceSplit.length) {
|
||||
bookMetadata.series = seriesSplit.map((series, index) => ({
|
||||
name: series,
|
||||
sequence: seriesSequenceSplit[index] || null
|
||||
}))
|
||||
libraryScan.addLog(LogLevel.DEBUG, `Detected multiple series in series/series-part tags: ${bookMetadata.series.map((s) => `${s.name} #${s.sequence}`).join(', ')}`)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Original embed used "series" and "series-part" tags
|
||||
bookMetadata.series = [
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue