MP3-PodcastFetch
view release on metacpan or search on metacpan
lib/MP3/PodcastFetch.pm view on Meta::CPAN
=item -env_proxy
If true, load proxy settings from *_proxy environment variables.
=item -max
Set the maximum number of podcast episodes to keep.
=item -keep_old
If true, keep old episodes and skip new ones if B<-max> is
exceeded. The default is to delete old episodes to make room for new
ones.
=item -timeout
How long (in seconds) to wait before timing out slow servers. Applies
to both the initial RSS feed fetching and mirroring individual podcast
episodes.
=item -mirror_mode
One of "exists" or "modified-since". The default, "exists", will cause
podcast episodes to be skipped if a like-named file already
exists. "modified-since" performs a more careful comparison with the
corresponding podcast episode on the remote server. The local file
will be refreshed if the remote server's version is more recent.
=item -rewrite_filename
If true, cryptic MP3 names will be replaced with long names based on
podcast episode title.
=item -upgrade_tag
Some podcast files have informative ID3 tags, but many
don't. Particularly annoying is the genre, which may be given as
"Speech", "Podcast", or anything else. The upgrade_tag option, if set
to a non-false value, will attempt to normalize the ID3 tags from the
information provided by the RSS feed information. Specifically, the
title will be set to the title of the podcast, the album will be set
to the title of the channel (e.g. "New York Times Front Page"), the
artist will be set to the channel author (e.g. "The New York Times"),
the year will be set to the publication date, the genre will be set to
"Podcast" and the comment will be set to the channel description. You
can change some of these values using the options "force_genre,"
"force_album," and "force_artist."
The value of upgrade_tag is one of:
false Don't mess with the ID3 tags
id3v1 Upgrade the ID3 version 1 tag
id3v2.3 Upgrade the ID3 version 2.3 tag
id3v2.4 Upgrade the ID3 version 2.4 tag
auto Choose the best tag available
Depending on what optional Perl ID3 manipulation modules you have
installed, you may be limited in what level of ID3 tag you can update:
Audio::TagLib all versions through 2.4
MP3::Tag all versions through 2.3
MP3::Info only version 1.0
Choosing "auto" is your best bet. It will dynamically find what Perl
modules you have installed, and choose the one that provides the most
recent tag version. Omit this argument, or set it to false, to prevent
any ID3 tag rewriting from occurring.
=item -force_genre, -force_artist, -force_album
If you have "upgrade_tag" set to a true value (and at least one
tag-writing module installed) then each podcast's ID3 tag will be
modified to create a consistent set of fields using information
provided by the RSS feed. The title will be set to the title of the
podcast, the album will be set to the title of the channel (e.g. "New
York Times Front Page"), the artist will be set to the channel author
(e.g. "The New York Times"), the year will be set to the publication
date, the genre will be set to "Podcast" and the comment will be set
to the channel description.
You can change some of these values using these three options:
-force_genre Change the genre to whatever you specify.
-force_artist Change the artist.
-force_album Change the album.
Note that if you use ID3v1 tagging (e.g. MP3::Info) then you must
choose one of the predefined genres; in particular, there is no genre
named "Podcast." You must force something else, like "Speech" instead.
=item -playlist_handle
A writeable filehandle on a previously-opened .m3u playlist file. The
playlist file must already have the "#EXTM3U" top line written into
it. The podcast fetch operation will write an appropriate item
description for each podcast episode it mirrors.
=item -playlist_base
If you are writing a playlist and mirroring the podcasts to a
removable medium such as an sdcard for later use with a portable music
player device, you will need to set this argument to the directory
path to each podcast file as it will appear to the music player. For
example, if you mount the medium at /mnt/sdcard and keep podcasts in
/mnt/sdcard/podcasts, then the B<-base> and B<-playlist_base> options
might look like this:
-base => '/mnt/sdcard/podcasts',
-playlist_base => '/podcasts'
For Windows-based devices, you might have to specify a playlist_base
using Windows filesystem conventions.
=item -subdir
Ordinarily each podcast will be placed in a directory named after its
channel, directly underneath the directory specified by "base." If
this boolean is set to a partial path, then additional levels of
directory will be placed between the base and the channel
directory. For instance:
( run in 0.964 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )