- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- ENVIRONMENT
- FILES
- LICENSE
- AUTHOR
- CHANGELOG
- DEPENDENCIES
- BUGS
- SEE ALSO
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>
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)
