mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-07-09 03:04:08 -04: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
@ -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…
x
Reference in New Issue
Block a user