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.
urlRetrieve RSS feed from this URL. The field is mandatory for all channel definitions.
spoolDownload enclosures to this directory.
playlistWrite the fully qualified file names of all downloaded enclosures to an m3u style playlist file with this name.
filterRestrict operation to enclosures whose URLs match this regular expression.
id3leadartistAdd or overwrite the `lead artist' (TPE1) ID3v2 tag in enclosures that support this.
id3contentgroupAdd or overwrite the `content group' (TIT1) ID3v2 tag in enclosures that support this.
id3titleAdd or overwrite the `title' (TIT2) ID3v2 tag in enclosures that support this.
id3albumAdd or overwrite the `album' (TALB) ID3v2 tag in enclosures that support this.
id3contenttypeAdd or overwrite the `content type' (TCON) ID3v2 tag in enclosures that support this.
id3yearAdd or overwrite the `year' (TYER) ID3v2 tag in enclosures that support this.
id3commentAdd or overwrite the `comment' (COMM) ID3v2 tag in enclosures that support this.
filenameSave 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.