castgetrc
- configuration file for castget
The configuration file .castgetrc
should be located in a user's home
directory. It defines the behaviour of the RSS enclosure downloader castget
,
and in particular the list of channels it operates on.
The file is based on a simple key-value format. It consists of a channel
definition for each RSS feed castget
should process. A channel definition
starts with a line containing a channel identifier enclosed in brackets. The
channel identifier can be freely chosen by the user and is used for all
subsequent operations on the channel. Following this are one or more key-value
pairs on the form key=value
that define castget
's behaviour when operating
on the channel. A channel definition ends when another channel definition is
started or at the end of the file.
Lines beginning with a hash character (`#') and blank lines are considered comments. All identifiers, keys and values should be UTF-8 encoded.
Key-value pairs in a channel definition define the behaviour of castget
when
processing the channel. The channel definition
[fooc]
url=http://downloads.bbc.co.uk/podcasts/radio4/fooc/rss.xml
spool=/home/joe/podcasts
for example, instructs castget
to use /home/joe/podcasts
as a download
directory when processing the channel fooc
.
url
Retrieve RSS feed from this URL. The field is mandatory for all channel definitions.
spool
Download enclosures to this directory.
playlist
Write the fully qualified file names of all downloaded enclosures to an m3u style playlist file with this name.
filter
Restrict operation to enclosures whose URLs match this regular expression.
id3leadartist
Add or overwrite the `lead artist' (TPE1) ID3v2 tag in enclosures that support this.
id3contentgroup
Add or overwrite the `content group' (TIT1) ID3v2 tag in enclosures that support this.
id3title
Add or overwrite the `title' (TIT2) ID3v2 tag in enclosures that support this.
id3album
Add or overwrite the `album' (TALB) ID3v2 tag in enclosures that support this.
id3contenttype
Add or overwrite the `content type' (TCON) ID3v2 tag in enclosures that support this.
id3year
Add or overwrite the `year' (TYER) ID3v2 tag in enclosures that support this.
id3comment
Add or overwrite the `comment' (COMM) ID3v2 tag in enclosures that support this.
filename
Save downloads using the given filename pattern instead of deriving it from the URL of the enclosure. See FILENAME PATTERNS.
A channel definition with the channel identifier *
will define a global
configuration affecting all channels. The global configuration
[*]
id3contenttype=Podcast
for example, is equivalent to adding the key-value pair
id3contenttype=Podcast
to all other channel definitions.
Key-value pairs in channel definitions override the global configuration.
Filename patterns can contain patterns on the form %(parameter)
, which are expanded to form a complete filename. Patterns are expanded once for each enclosure download and can therefore be used to generate filenames that are unique to each download.
Anything that is not a pattern is as a literal that will be reproduced verbatim (subject to some sanity checking). The complete pathname of a download is determined by concatenating the channel's spool directory with the filename.
Note that castget
will refuse to overwrite files that already exist except when it is invoked with the -r
option to resume downloads. Some RSS feeds reuse the same filename for all enclosures. In such cases the -r
option will corrupt existing downloads unless you use filename patterns to construct unique filenames.
The following patterns take information from the item
element or the enclosure in the RSS feed:
%(date)
: date (by default on the format YYYY-MM-DD)%(title)
: titleThe following take information from the channel
element or the enclosure in the RSS feed:
%(channel_title)
: channel titleIf any of the information required by a pattern is missing from the RSS feed or is invalid the pattern will be ignored and removed from the resulting filename.
If a channel configuration is removed, the channel status remains the same so that if the channel is subsequently re-added, any enclosures marked as already downloaded will not be downloaded again.
The source distribution includes a sample configuration file demonstrating all supported settings.
castget(1)
Marius L. Jøhndal.