Configuration

In order to use FlexGet you'll need to create a configuration file.

FlexGet uses  Yaml markup in configuration file.

Common mistakes, read at least these!

  • Indentation level. Always use (multiples of) 2 spaces and never use tab-key!
  • All plugins are supposed to be indented at the same level (rss, series, download etc)
  • Missing colons. Pay special attention to these when looking at the examples and documentation
  • If text value contains any of {}[]%: characters it must be quoted with ''
  • If you want to pass a number as a text (ie. series 24), value must be quoted with ''

Location

By default FlexGet tries to find config.yml from current path and in ~/.flexget/. Creating the ~./flexget/ directory and placing your config.yml in there is considered currently as the best practice.

Example

Here is our example configuration:

~/.flexget/config.yml

feeds:
  tv-shows:
    rss: http://example.com/rss.xml
    series:
      - chuck
      - south park
    download: ~/torrents/

Now let's break that down line by line.

In first line feeds is a container which may contain any number of feeds under it. In our example there is only one feed called tv-shows. The feed name must be indented by 2 spaces because it belongs to feeds. In Yaml relations are represented by indentation level. Pay special attention to : - characters.

Plugins

Our feed tv-shows has three plugins: rss, series, download. Notice all plugins again indented by additional 2 spaces. This is because they belong to the feed tv-shows. In correct configuration file all plugin keywords appear in the same level.

Plugin: RSS

This is our input plugin which reads RSS-feed and produces processable entries. By lookign at plugin rss documentation we learn that it accepts URL as a parameter in it's simplest form.

Plugin: Series

This plugin expects a list of series names as a parameter. Notice again how the list is intended by 2 spaces more than series keyword. The list belongs to series plugin. This filters entries, it goes trough all of them and accepts those which match to our interest.

Plugin: Download

The process ends at output, in this case we have single output that just downloads all accepted entries into given path.

Common misconceptions

  • Plugin order doesn't matter, you can list them in any order you like. Most logical order would be inputs -> filters -> outputs.
  • Feed order doesn't matter, feeds are executed in seemingly random order. Use priority plugin priorize feeds when necessary.
  • You cannot list plugins, ie. rss twice in a single feed. This is limited by the chosen simpler syntax in the configuration file. Instead see preset plugin.

Tips

Test execution

Executes all feeds, but doesn't write anything into disk.

flexget --test

Display more process details

Adding -v parameter will display really useful information about feed(s) content and filtering rules that are applied.

Check configuration syntax

When you create or modify configuration try running FlexGet with --check parameter. It will go through the configuration file and report any irregularities found. If you used recommended configuration name and location, simply executing flexget --check will do this. If this doesn't report any problems you should have fully working configuration file.

References