Compare commits
2 Commits
ccc8d7c7a2
...
3edfd24181
Author | SHA1 | Date | |
---|---|---|---|
3edfd24181 | |||
e62dec0833 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -4,3 +4,6 @@
|
|||||||
|
|
||||||
# Config files
|
# Config files
|
||||||
settings.conf
|
settings.conf
|
||||||
|
|
||||||
|
# Other
|
||||||
|
**/
|
@ -1,5 +1,7 @@
|
|||||||
import configparser
|
import configparser
|
||||||
from requests import get
|
from requests import get
|
||||||
|
from feedgen.feed import FeedGenerator
|
||||||
|
import datetime
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
@ -37,6 +39,9 @@ class AudibleBook(object):
|
|||||||
def getTitle(self):
|
def getTitle(self):
|
||||||
return self.getMetadata()['title']
|
return self.getMetadata()['title']
|
||||||
|
|
||||||
|
def getAuthor(self):
|
||||||
|
return self.getMetadata()['artist']
|
||||||
|
|
||||||
def setTargetDir(self, targetDir):
|
def setTargetDir(self, targetDir):
|
||||||
self.targetDir = targetDir
|
self.targetDir = targetDir
|
||||||
|
|
||||||
@ -88,6 +93,7 @@ def createConfig(configFilePath, filePath):
|
|||||||
|
|
||||||
configFilePath='./settings.conf'
|
configFilePath='./settings.conf'
|
||||||
audibleBookPath=sys.argv[1]
|
audibleBookPath=sys.argv[1]
|
||||||
|
serverURL=sys.argv[2]
|
||||||
targetDir='.'
|
targetDir='.'
|
||||||
|
|
||||||
# Check if config file exists and creates one if needed.
|
# Check if config file exists and creates one if needed.
|
||||||
@ -112,3 +118,27 @@ book.removeDRM(name)
|
|||||||
book.splitChapters()
|
book.splitChapters()
|
||||||
book.getCover()
|
book.getCover()
|
||||||
|
|
||||||
|
fg = FeedGenerator()
|
||||||
|
fg.id(name)
|
||||||
|
fg.title(book.getTitle())
|
||||||
|
fg.author( {'name': book.getAuthor()} )
|
||||||
|
fg.link( href='https://audible.com', rel='alternate' )
|
||||||
|
fg.logo('{}/{}/cover.jpg'.format(serverURL, name))
|
||||||
|
fg.subtitle(book.getMetadata()['copyright'])
|
||||||
|
fg.language('en')
|
||||||
|
|
||||||
|
count = 0
|
||||||
|
for c in book.getChapters():
|
||||||
|
key = osSafeName(c['tags']['title'])
|
||||||
|
fe = fg.add_entry()
|
||||||
|
fe.id(key)
|
||||||
|
fe.title(c['tags']['title'])
|
||||||
|
fe.link(href='{0}/{1}/{1}-{2}.m4a'.format(serverURL, name, key))
|
||||||
|
fe.enclosure('{0}/{1}/{1}-{2}.m4a'.format(serverURL, name, key), 0, 'audio')
|
||||||
|
fe.published(datetime.datetime(int(book.getMetadata()['date']), 6, 1, 0, count, tzinfo=datetime.timezone.utc))
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
rssfeed = fg.rss_str(pretty=True)
|
||||||
|
fg.rss_file('{}/rss.xml'.format(outputDir))
|
||||||
|
|
||||||
|
print()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user