mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-06-06 18:52:43 +02:00
Add:OPML Export #1260
This commit is contained in:
+6
-6
@@ -1,9 +1,9 @@
|
||||
const fs = require('../libs/fsExtra')
|
||||
const filePerms = require('./filePerms')
|
||||
const package = require('../../package.json')
|
||||
const Logger = require('../Logger')
|
||||
const { getId } = require('./index')
|
||||
const areEquivalent = require('../utils/areEquivalent')
|
||||
const fs = require('../../libs/fsExtra')
|
||||
const filePerms = require('../filePerms')
|
||||
const package = require('../../../package.json')
|
||||
const Logger = require('../../Logger')
|
||||
const { getId } = require('../index')
|
||||
const areEquivalent = require('../areEquivalent')
|
||||
|
||||
|
||||
const CurrentAbMetadataVersion = 2
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
const fs = require('../libs/fsExtra')
|
||||
const fs = require('../../libs/fsExtra')
|
||||
|
||||
function getPlaylistStr(segmentName, duration, segmentLength, hlsSegmentType, token) {
|
||||
var ext = hlsSegmentType === 'fmp4' ? 'm4s' : 'ts'
|
||||
@@ -0,0 +1,52 @@
|
||||
const xml = require('../../libs/xml')
|
||||
|
||||
module.exports.generate = (libraryItems, indent = true) => {
|
||||
const bodyItems = []
|
||||
libraryItems.forEach((item) => {
|
||||
if (!item.media.metadata.feedUrl) return
|
||||
const feedAttributes = {
|
||||
type: 'rss',
|
||||
text: item.media.metadata.title,
|
||||
title: item.media.metadata.title,
|
||||
xmlUrl: item.media.metadata.feedUrl
|
||||
}
|
||||
if (item.media.metadata.description) {
|
||||
feedAttributes.description = item.media.metadata.description
|
||||
}
|
||||
if (item.media.metadata.itunesPageUrl) {
|
||||
feedAttributes.htmlUrl = item.media.metadata.itunesPageUrl
|
||||
}
|
||||
if (item.media.metadata.language) {
|
||||
feedAttributes.language = item.media.metadata.language
|
||||
}
|
||||
bodyItems.push({
|
||||
outline: {
|
||||
_attr: feedAttributes
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
const data = [
|
||||
{
|
||||
opml: [
|
||||
{
|
||||
_attr: {
|
||||
version: '1.0'
|
||||
}
|
||||
},
|
||||
{
|
||||
head: [
|
||||
{
|
||||
title: 'Audiobookshelf Podcast Subscriptions'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
body: bodyItems
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
return '<?xml version="1.0" encoding="UTF-8"?>\n' + xml(data, indent)
|
||||
}
|
||||
Reference in New Issue
Block a user