episoder(1) TV show episode reminder.


episoder [global options] [command] [command-specific options]


episoder is Copyright (C) 2004-2014 by Stefan Ott


episoder is a tool to tell you about new episodes of your favourite TV shows


Show help and quit.
Use FILE for configuration values. By default ~/.episoder is used.
-v, --verbose
Enable verbose operation.
-d, --debug
Enable debug (very verbose) operation.
Log to FILE instead of stdout.
-V, --version
Show program version and quit.


Add Shows

episoder [options] add SHOW

This adds a SHOW to episoder's database. You can either specify a URL from epguides.com or a show ID from TheTVDB.com. Note that this won't fetch any episodes or meta data about the show, to do this you will need to update your database.

Find Shows on TheTVDB.com

episoder [options] search "search terms"

Rather than visiting their web site you can use episoder to search TheTVDB.com. This command will show you a list of all shows that match your search terms along with their IDs -- you will need to know these to add shows to the database.

List Shows

episoder [options] shows

List all shows in episoder's database. The output contains information on the show's URL or TVDB ID, name, current state and the time of the last update.

Remove Shows

episoder [options] remove SHOW

This removes a SHOW from episoder's database. Please specify the show id as shown by the shows command.

Disable Updates

episoder [options] disable SHOW

By default, any show that is added to episoder's database is included when the database is updated. If however you would like to disable updates for a certain show, this is how you do it.

Please specify the show id as shown by the shows command.

Enable Updates

episoder [options] enable SHOW

Use this to re-enable updates for a show that has previously been disabled. Please specify the show id as shown by the shows command.

Update the Database

episoder [options] update [update-options]

Update the episoder database. This will fetch the list of known episodes for all shows that are currently in the database (unless they have been disabled).

The update command knows the following extra options:

All episodes that are older than DATE will be removed from the database after the update. You can either specify an absolute date as YYYY-MM-DD or a relative date by passing the number of days back. The default value is 2, i.e. all episodes more than two days old will be removed.
-f, --force
Update the database regardless of the time of the last update. By default episoder uses these update intervals:

* 2 days for shows that are currently running.

* 1 week for shows that are currently paused.

* 2 weeks for shows that have ended.

-i, --nodate
Don't remove any old episodes, regardless of their date.
-s, --show ID
Only update the show with this ID (as shown by the shows command), regardless of the last update time and whether or not updates are currently enabled for this show.
Note that the -d and -i options cannot be combined and that -f has no effect when using -s.

List Episodes in the Database

episoder [options] list [list-options]

Show upcoming episodes. Before running this you should update the database to make sure that your list of episodes is up-to-date.

The list command knows the following extra options:

-C, --nocolor
Don't use colors in the list of episodes. By default, episodes will be colored to indicate the air date relative to the current date:

* Episodes from the distant past are colored gray

* Yesterday's episodes are colored red

* Today's episodes are colored yellow

* Tomorrow's episodes are colored green

* Future episodes are colored cyan

Only show episodes that air prior to DATE. You can either specify an absolute date as YYYY-MM-DD or a relative date by passing the number of days back. The default is to hide all episodes that aired before yesterday.
-n DAYS, --days DAYS
The number of days to show. Any episodes that are more than DAYS days in the future will be hidden. The default value is 2.

Note that this value is relative to the DATE specified with the -d option.

-i, --nodate
Show all episodes regardless of their date.
Search for SEARCH in show and episode names.


Find a show on TheTVDB.com:
episoder search dexter
The output will look like this:
ID      Name
------- --------------------
79349   Dexter

Add a show:
episoder add 79349

List all currently added shows:
episoder shows
The output will look like this:
[ 1] 79349
       Dexter, Running, Enabled
       Last update: 1970-01-01 00:00:00

Fetch all episodes for Dexter regardless of the air date and enable debugging output:
episoder -d update -s 1 -i

List all episodes from October 2012:
episoder list -d 2012-10-01 -n 31


The configuration file contains default settings for episoder.

Set the user-agent string to be used when fetching data. This is only used for shows on epguides.com.
Path to episoder's data file. If, instead of a file, you supply a database url (as expected by sqlalchemy, eg. 'mysql://localhost/episoder'), episoder is going to use that database for storage instead.
format=unquoted format string
This allows you to customize episoder's output. Available fields are:

        %airdate     The episode's airdate as YYYY-MM-DD
        %show        Name of the show
        %season      Current season
        %epnum       Episode's number in season
        %eptitle     Title of the episode
        %totalep     Episode's total number
        %prodnum     Production number

If undefined, the default value of %airdate %show %seasonx%epnum (eg. "2005-07-29 Monk 4x04") is used.

dateformat=unquoted string describing the format
Here you can define the date format you'd like to be used for the output. To get a list of all possible fields, see date(1).

The default is %a, %b %d, %Y

Use your own TVDB API KEY instead of episoder's built-in default key. This is recommended if you use episoder on a larger scale.

See http://thetvdb.com/?tab=apiregister for more details.


You might want to have your episode database rebuilt on a regular basis (i.e. daily). The easiest way to achieve this is with a simple cron job:

    crontab -l > crontab
    echo "40 5 * * * episoder update" >> crontab
    crontab crontab


~/.episoder - default configuration file
~/.episodes - default data file


This manual page was written by Stefan Ott