---
name: "episoder"
section: "1"
platform: "linux"
package: "episoder"
version: "0.7.1-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/episoder"
---

# episoder(1)

TV show episode reminder.

## NAME

episoder - TV show episode reminder.

## SYNOPSIS

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

## COPYRIGHT

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

## DESCRIPTION

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

## GLOBAL OPTIONS

- **-h**

  Show help and quit.

- **-c *FILE***

  Use *FILE* for configuration values. By default ~/.episoder is used.

- **-v, --verbose**

  Enable verbose operation.

- **-d, --debug**

  Enable debug (very verbose) operation.

- **-l *FILE***

  Log to *FILE* instead of stdout.

- **-V, --version**

  Show program version and quit.

## COMMANDS

### 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:

- **-d *DATE***

  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

- **-d *DATE***

  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.

- **-s *SEARCH***

  Search for *SEARCH* in show and episode names.

## EXAMPLES

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**

## CONFIG FILE

The configuration file contains default settings for episoder.

- **agent=foo**

  Set the user-agent string to be used when fetching data. This is only used for shows on epguides.com.

- **data=/path/to/file**

  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)](/date/1.md).**

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

- **tvdb\_key=KEY**

  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.

## CRON

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

## FILES

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

## AUTHOR

This manual page was written by Stefan Ott
