mysw_logo

NAME

mpodder - a slightly more sophisticated bashpodder


SYNOPSIS

  mpodder [options] [command [command args]]


DESCRIPTION

mpodder is a podcasting fetch script, similar to bashpodder. It will check podcast feeds for new shows, and download them as appropriate.

Features not found in some other podcasting clients include handling of re-directs, proper XML parsing to extract tags other than the URLs to download (show titles etc).


OPTIONS

``command'' is one of the following:

fetch [filter]
Get podcasts.

add url
Add a new podcast feed: url.

remove url
Removes a feed from the feed list.

list filter
List podcast feeds.

configure option=value
If no parameter to the command is supplied, mpodder enters an interactive configuration mode. If a option=value parameter is passed, that parameter is updated in the configuration file.

catchup [filter]
This command causes all feeds (filtered by filter if specified) to be brought up to date as if all casts had been downloaded. The casts are not actually downloaded, but are flagged in the log as if they were. It's a good way to prevent a busy feed from downloading loads of old stuff that you're not interested in. It's the podcast equivalent of returning to the office after vacation, and selecting ``mark all messages as read'' in your mail client... ;)

log [filter]
Prints items that are logged as downloaded, with the time when they were fetched. These items will not be downloaded again.

zaplog [<filter>]
Removed items from the log. Without a filter, the whole log is cleared. With a filter, only items matching the filter will be removed. Note that the filters don't work yet due to some unexpected weirdness from DB_File!

If no command is specified, fetch is performed.

Each option is listed with the corresponding value from the config file (in brackets) after the option.

--age=days (MAX_AGE)
Sets the maximum age of pod-casts in days. 0 means ``no maximium'', and this is the default.

--debug=level
Print diagnostic messages while executing. The value of level must be an integer. The higher the number, the more verbose the diagnostic output will be.

--directory=path (PODCAST_DIR)
Select the loction where the podcast files will be put.

--dump-settings
Dumps the settings found in the configuration file and exists.

--help
Print the command line syntax an option details.

--pretend
Pretend mode. When the command is fetch and this option is specified, downloads are not performed, instead a list of what would be downloaded is printed.

--verbose
Print the program description and version.


ENVIRONMENT


FILES

config

The mpodder config file is found here: $HOME/.mpodder/config. It contains user-specified defaults. These values may be overridden using command line the options specified above.

This file contains key/value pairs like:

    MAX_AGE=7

Comments (first non-whitespace character on line is a #) and blank lines are ignored.

Valid configutation options:

MAX_AGE
The maximum age of a pod-cast in days. All podcasts older than this will be ignored. ``0'' means no limit, which is the default.

PODCAST_DIR
This contains the name of the directory where podcasts will be depoisted. The default value is $HOME/podcasts.

LOG_FILE
This contains the full path of the log file. The default is $HOME/.mpodder/log.

FEED_FILE
This contais the full path of the feeds file. The default is $HOME/.mpodder/feeds.

NOTIFY
This may take one of the following values: none (the default) - no notification is sent to the user when a new podcast is downloaded. kdialog - uses kdialog to notify the user. This is horrible by the way, and requires that kdialog is installed (part of KDE). xmessage just like kdialog, but even uglier. mail causes an email to be sent to the value of NOTIFY_ADDRESS. mpodder uses the command line ``mail'' program for delivery, so check it is installed and working first.

NOTIFY_ADDRESS
By default $USER@$`hostname` is used for mail notifications, but if youo set this, you can specify another address.

feeds

The feeds file if found here: $HOME/.mpodder/feeds. It is a list of podcast feed URLS. The format is the same as bashpodder - i.e. one URL per line.

log

The log file contains a history of which podcasts have been downloaded in the past. This way we can avoid re-downloading a podcast even if the actual mp3/ogg file is gone.


LICENSE

mpodder is released under the GNU GPL (version 2, June 1991). A copy of the license should have been provided in the distribution of the software in a file called ``LICENSE''. If you can't find this, then try here: http://www.gnu.org/copyleft/gpl.html


AUTHOR

Matthew Gates <matthew@porpoisehead.net>

http://porpoisehead.net/


CHANGELOG

Date:2005-06-11 Version 0.02
All of the critical functionality is now done. The interactive config mode is still to be implemented, but apart from that we have a working tool.

Date:2005-05-09 Created, Author MNG
RSS parser done, still to do: download stuff, logging, interactive config etc. I changed to LWP::Simple (from full LWP) - don't need any of the facy stuff...


DEPENDENCIES

This script uses various external programs to accomplish it's work. They are:

Stuff::Debug Stuff::Usage Stuff::Text
These are all part of the basic Stuff package. You can download it from here: http://www.porpoisehead.net/mysw/index.php?pgid=download_index

wget and/or curl
I recommend wget since curl doesn't seem to follow some re-directions as well as wget.

mailx (command line mail utility)
There is a very good chance this comes pre-installed with the default settings of your Linux/BSD distribution.

pod2usage
This comes as standard with perl since some time. It's used for the production of the output of the --help option.


BUGS

Please report bugs to the author.


SEE ALSO

bashpodder(1)