43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
# autoradio
|
|
|
|
A little Python script to download audio files from RSS feeds. Installation
|
|
is messy and I have tested this on exactly two feeds, so it's my no means
|
|
finished software.
|
|
|
|
## Installation
|
|
|
|
I packaged this project with poetry and then discovered that poetry can't
|
|
install pycurl properly, as the latter requires command-line options to compile
|
|
it with the correct SSL backend. Here's the manual workaround:
|
|
|
|
> git clone https://git.tilde.town/bombinans/autoradio.git
|
|
> cd autoradio
|
|
> poetry install
|
|
> poetry shell
|
|
> pip uninstall pycurl
|
|
> pip install --compile --install-option="--with-openssl" pycurl
|
|
> poetry run autoradio --config config.json
|
|
|
|
The config file looks like this.
|
|
|
|
{
|
|
"feeds": {
|
|
"Utility Fog": {
|
|
"url": "https://www.frogworth.com/utilityfog/feed/",
|
|
"dir": "/media/pi/Storage/Music/Utility Fog"
|
|
},
|
|
"RA Podcast": {
|
|
"url": "https://ra.co/xml/podcast.xml",
|
|
"dir": "/media/pi/Storage/Music/RA_Podcast"
|
|
}
|
|
},
|
|
"max": 10
|
|
}
|
|
|
|
Each feed has a URL and a directory where the files will be downloaded. If a
|
|
file with the same name is already present, it won't be re-downloaded.
|
|
|
|
The value in "max" is the number of entries to look at from each feed, starting
|
|
from the latest. The script parses the RSS feed and looks for links which
|
|
seem likely to contain audio and tries to fetch them using pycurl (this handles
|
|
things like redirects, hopefully). |