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
|
bookMetadata.series = series
|
||||||
}
|
}
|
||||||
} else {
|
} 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
|
// Original embed used "series" and "series-part" tags
|
||||||
bookMetadata.series = [
|
bookMetadata.series = [
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user