uraniacast — The non-interactive Tcl podcast downloader.
uraniacast grabs podcast feeds, parses them, downloads any media files mentioned in the feed & (optionally) does a selective processing of podcast files (for example, changes/adds ID3 mp3 tags or converts from ogg to mp3 or whatever).
By default, the program uses ~/.uraniacast
directory for storing downloaded
media, the configuration file, the history databases and so on; this
directory can be changed with -c command line option.
By default, uraniacast tries to get only 2 most recent entries in the feed, so if you want to download more podcast files, look at -e option.
The options are as follows:
Delete all downloaded media files for each feed before processing
it only and only if the time at which a marker file ~/.uraniacast/.sync
was
last modified > than the last successful downloads. Of course this
requires some external tool (which is used for syncing media files with
an mp3-player) to touch the marker.
In contrib
directory with uraniacast source code there is an example.
List all orphan directories in the media directory. For example, safely delete all empty orphans:
uraniacast -o | xargs rmdir
Check only for new media files (don’t download them).
uraniacast -vC -r econtalk
In the statistics (-s) such new files will be under "failed" column.
Merge a provided string of feed-specific settings with every feed. Usually makes sense only with -r option. For example, if you want to temporally override the sort parameter for a particular feed but don’t want to edit the configuration file:
uraniacast -v -r back2work -M 'sort increasing'
~/.uraniacast/config
config.example
file that comes with
uraniacast distribution for further explanations.
~/.uraniacast/media
~/.uraniacast/feeds
~/.uraniacast/logs
~/.uraniacast/.history.sqlite
~/.uraniacast/.sync
0 on success (something was downloaded), 1 if you have no new files from podcasts, or > 1 if en error occurs.
Select only "copm.*" feeds, extract at least 8 enclosures from each feed, try to download them, be verbose about it & print the statistics:
uraniacast -vs -r 'comp.*' -e 8
Besides an external HTTP downloader, uraniacast requires Tcl >= 8.5, SQLite 3.x and (optionally) TclX. If you do not have TclX installed, locking and signals support will be disabled.
Locking helps not to write to the "home" directory with 2 copies of uraniacast in the memory. Signal catching helps making a graceful exit if user presses <Ctrl-C> twice in the console.