update approach for ensuring download directory always exists

This commit is contained in:
jmt-gh 2022-06-06 18:51:08 -07:00
parent c606a41314
commit 853513b926
3 changed files with 25 additions and 6 deletions

View File

@ -139,7 +139,8 @@ class Server {
await this.checkUserMediaProgress() // Remove invalid user item progress
await this.purgeMetadata() // Remove metadata folders without library item
await this.cacheManager.ensureCachePaths()
await this.abMergeManager.ensureDownloadDirPath()
await this.backupManager.init()
await this.logManager.init()
this.podcastManager.init()

View File

@ -16,11 +16,28 @@ class AbMergeManager {
this.clientEmitter = clientEmitter
this.downloadDirPath = Path.join(global.MetadataPath, 'downloads')
this.downloadDirPathExist = false
this.pendingDownloads = []
this.downloads = []
}
async ensureDownloadDirPath() { // Creates download path if necessary and sets owner and permissions
if (this.downloadDirPathExist) return
var pathCreated = false
if (!(await fs.pathExists(this.downloadDirPath))) {
await fs.mkdir(this.downloadDirPath)
pathCreated = true
}
if (pathCreated) {
await filePerms.setDefault(this.downloadDirPath)
}
this.downloadDirPathExist = true
}
getDownload(downloadId) {
return this.downloads.find(d => d.id === downloadId)
}
@ -48,7 +65,7 @@ class AbMergeManager {
} catch (error) {
return false
}
}
}z
async startAudiobookMerge(user, libraryItem) {
var downloadId = getId('abmerge')
@ -73,7 +90,8 @@ class AbMergeManager {
try {
await fs.ensureDir(download.dirpath)
await fs.mkdir(download.dirpath)
Logger.error(`[AbMergeManager] Failed to make directory ${download.dirpath}`)
} catch (error) {
Logger.error(`[AbMergeManager] Failed to make directory ${download.dirpath}`)
Logger.debug(`[AbMergeManager] Make directory error: ${error}`)

View File

@ -19,17 +19,17 @@ class CacheManager {
var pathsCreated = false
if (!(await fs.pathExists(this.CachePath))) {
await fs.ensureDir(this.CachePath)
await fs.mkdir(this.CachePath)
pathsCreated = true
}
if (!(await fs.pathExists(this.CoverCachePath))) {
await fs.ensureDir(this.CoverCachePath)
await fs.mkdir(this.CoverCachePath)
pathsCreated = true
}
if (!(await fs.pathExists(this.ImageCachePath))) {
await fs.ensureDir(this.ImageCachePath)
await fs.mkdir(this.ImageCachePath)
pathsCreated = true
}