mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-02-11 12:49:40 +00:00
Merge 8321ba6291 into 626596b192
This commit is contained in:
commit
44b7b450e0
9 changed files with 126 additions and 7 deletions
|
|
@ -21,6 +21,7 @@ class PodcastEpisodeDownload {
|
|||
this.appendRandomId = false
|
||||
|
||||
this.targetFilename = null
|
||||
this.podcastFilenameFormat = null
|
||||
|
||||
this.startedAt = null
|
||||
this.createdAt = null
|
||||
|
|
@ -79,13 +80,38 @@ class PodcastEpisodeDownload {
|
|||
if (!this.rssPodcastEpisode.publishedAt) return null
|
||||
return new Date(this.rssPodcastEpisode.publishedAt).getFullYear()
|
||||
}
|
||||
formatFilename() {
|
||||
const {publishedAt, season, episode, title} = this.rssPodcastEpisode;
|
||||
const fileformat = this.libraryItem.media.podcastFilenameFormat || '%T'
|
||||
let filename = fileformat
|
||||
if (publishedAt) {
|
||||
const dt = new Date(publishedAt)
|
||||
const year = dt.getFullYear()
|
||||
const month = String(dt.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(dt.getDate()).padStart(2,'0')
|
||||
filename = filename
|
||||
.replace("%Y",year)
|
||||
.replace("%M",month)
|
||||
.replace("%D",day)
|
||||
}
|
||||
if (season) {
|
||||
filename = filename.replace("%S",season)
|
||||
}
|
||||
if (episode){
|
||||
filename = filename.replace("%E",episode)
|
||||
}
|
||||
if (title){
|
||||
filename = filename.replace("%T",title.trim() || '')
|
||||
}
|
||||
return filename
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} title
|
||||
*/
|
||||
getSanitizedFilename(title) {
|
||||
getSanitizedFilename() {
|
||||
const appendage = this.appendRandomId ? ` (${this.id})` : ''
|
||||
const filename = `${title.trim()}${appendage}.${this.fileExtension}`
|
||||
const filename = `${this.formatFilename()}${appendage}.${this.fileExtension}`
|
||||
return sanitizeFilename(filename)
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +120,7 @@ class PodcastEpisodeDownload {
|
|||
*/
|
||||
setAppendRandomId(appendRandomId) {
|
||||
this.appendRandomId = appendRandomId
|
||||
this.targetFilename = this.getSanitizedFilename(this.rssPodcastEpisode.title || '')
|
||||
this.targetFilename = this.getSanitizedFilename()
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -116,9 +142,9 @@ class PodcastEpisodeDownload {
|
|||
this.url = encodeURI(url)
|
||||
}
|
||||
|
||||
this.targetFilename = this.getSanitizedFilename(this.rssPodcastEpisode.title || '')
|
||||
|
||||
this.libraryItem = libraryItem
|
||||
this.targetFilename = this.getSanitizedFilename()
|
||||
this.isAutoDownload = isAutoDownload
|
||||
this.createdAt = Date.now()
|
||||
this.libraryId = libraryId
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue