mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-08-04 02:05:06 +02:00
Fix folder browser, fix track number parsed from filename too large, add mp4 audiobook support
This commit is contained in:
parent
04f92c33c2
commit
120c70622a
10 changed files with 26 additions and 12 deletions
|
@ -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
|
||||
|
|
|
@ -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']
|
||||
}
|
||||
|
||||
|
|
|
@ -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, '')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue