2013-07-28 19:27:36 +00:00
|
|
|
You can use git-annex as a podcatcher, to download podcast contents.
|
|
|
|
No additional software is required, but your git-annex must be built
|
|
|
|
with the Feeds feature (run `git annex version` to check).
|
|
|
|
|
|
|
|
All you need to do is put something like this in a cron job:
|
|
|
|
|
|
|
|
`cd somerepo && git annex importfeed http://url/to/podcast http://other/podcast/url`
|
|
|
|
|
|
|
|
This downloads the urls, and parses them as RSS, Atom, or RDF feeds.
|
|
|
|
All enclosures are downloaded and added to the repository, the same as if you
|
|
|
|
had manually run `git annex addurl` on each of them.
|
|
|
|
|
|
|
|
git-annex will avoid downloading a file from a feed if its url has already
|
|
|
|
been stored in the repository before. So once a file is downloaded,
|
|
|
|
you can move it around, delete it, `git annex drop` its content, etc,
|
|
|
|
and it will not be downloaded again by repeated runs of
|
|
|
|
`git annex importfeed`. Just how a podcatcher should behave.
|
|
|
|
|
|
|
|
## templates
|
|
|
|
|
|
|
|
To control the filenames used for items downloaded from a feed,
|
|
|
|
there's a --template option. The default is
|
|
|
|
`--template='${feedtitle}/${itemtitle}${extension}'`
|
|
|
|
|
|
|
|
Other available template variables:
|
|
|
|
feedauthor, itemauthor, itemsummary, itemdescription, itemrights, itemid
|
|
|
|
|
|
|
|
## catching up
|
|
|
|
|
|
|
|
To catch up on a feed without downloading its contents,
|
|
|
|
use `git annex importfeed --relaxed`, and delete the symlinks it creates.
|
|
|
|
Next time you run `git annex addurl` it will only fetch any new items.
|
|
|
|
|
|
|
|
## fast mode
|
|
|
|
|
|
|
|
To add a feed without downloading its contents right now,
|
|
|
|
use `git annex importfeed --fast`. Then you can use `git annex get` as
|
|
|
|
usual to download the content of an item.
|
|
|
|
|
2013-07-28 21:00:23 +00:00
|
|
|
## distributed podcasting
|
2013-07-28 19:27:36 +00:00
|
|
|
|
|
|
|
A nice benefit of using git-annex as a podcatcher is that you can
|
|
|
|
run `git annex importfeed` on the same url in different clones
|
|
|
|
of a repository, and `git annex sync` will sync it all up.
|