first iteration of parsing metadata and chapter names from ncc.html file

This commit is contained in:
Toni Barth 2026-02-07 16:45:40 +01:00
parent fe13456a2b
commit 6c9bf8c2bd
10 changed files with 394 additions and 6 deletions

View file

@ -24,7 +24,10 @@ function isMediaFile(mediaType, ext, audiobooksOnly = false) {
return globals.SupportedAudioTypes.includes(extclean) || globals.SupportedEbookTypes.includes(extclean)
}
function isScannableNonMediaFile(ext) {
function isScannableNonMediaFile(ext, filename = '') {
const filenameLower = filename.toLowerCase()
if (filenameLower === 'ncc.html') return true
if (!ext) return false
const extclean = ext.slice(1).toLowerCase()
return globals.TextFileTypes.includes(extclean) || globals.MetadataFileTypes.includes(extclean) || globals.SupportedImageTypes.includes(extclean)
@ -58,7 +61,7 @@ function groupFileItemsIntoLibraryItemDirs(mediaType, fileItems, audiobooksOnly,
/** @type {import('./fileUtils').FilePathItem[]} */
const otherFileItems = []
itemsFiltered.forEach((item) => {
if (isMediaFile(mediaType, item.extension, audiobooksOnly) || (includeNonMediaFiles && isScannableNonMediaFile(item.extension))) {
if (isMediaFile(mediaType, item.extension, audiobooksOnly) || (includeNonMediaFiles && isScannableNonMediaFile(item.extension, item.name))) {
mediaFileItems.push(item)
} else {
otherFileItems.push(item)