Fix folder browser, fix track number parsed from filename too large, add mp4 audiobook support

This commit is contained in:
advplyr 2021-10-10 19:29:22 -05:00
parent 04f92c33c2
commit 120c70622a
10 changed files with 26 additions and 12 deletions

View file

@ -12,6 +12,7 @@ function getDefaultAudioStream(audioStreams) {
}
async function scan(path) {
Logger.debug(`Scanning path "${path}"`)
var probeData = await prober(path)
if (!probeData || !probeData.audio_streams || !probeData.audio_streams.length) {
return {
@ -86,7 +87,7 @@ function getTrackNumberFromFilename(title, author, series, publishYear, filename
// Remove eg. "disc 1" from path
partbasename = partbasename.replace(/ disc \d\d? /i, '')
var numbersinpath = partbasename.match(/\d+/g)
var numbersinpath = partbasename.match(/\d{1,4}/g)
if (!numbersinpath) return null
var number = numbersinpath.length ? parseInt(numbersinpath[0]) : null
@ -99,6 +100,8 @@ async function scanAudioFiles(audiobook, newAudioFiles) {
return
}
Logger.debug('[AudioFileScanner] Scanning audio files')
var tracks = []
var numDuplicateTracks = 0
var numInvalidTracks = 0

View file

@ -1,6 +1,6 @@
const globals = {
SupportedImageTypes: ['png', 'jpg', 'jpeg', 'webp'],
SupportedAudioTypes: ['m4b', 'mp3', 'm4a', 'flac', 'opus'],
SupportedAudioTypes: ['m4b', 'mp3', 'm4a', 'flac', 'opus', 'mp4'],
SupportedEbookTypes: ['epub', 'pdf', 'mobi']
}

View file

@ -1,4 +1,5 @@
const Path = require('path')
const fs = require('fs-extra')
const dir = require('node-dir')
const Logger = require('../Logger')
const { getIno } = require('./index')
@ -120,6 +121,12 @@ async function scanRootDir(folder, serverSettings = {}) {
var folderPath = folder.fullPath
var parseSubtitle = !!serverSettings.scannerParseSubtitle
var pathExists = await fs.pathExists(folderPath)
if (!pathExists) {
Logger.error(`[scandir] Invalid folder path does not exist "${folderPath}"`)
return []
}
var pathdata = await getPaths(folderPath)
var filepaths = pathdata.files.map(filepath => {
return Path.normalize(filepath).replace(folderPath, '')