Sample FlexGet config.yml file

Below is a typical config.yml file for FlexGet. I’m using for illustrative purposes only, purely to give you a taster for how powerful FlexGet is. It is certainly not a recommendation for what files to download!

Sample FlexGet YAML File

So, what do all these lines mean?

The file might look rather complicated at first glance but once we break things down it’s really rather simple. Let’s go through the file line by line:

1 templates: This specifies that we’re starting a preset section. It is used on conjunction with the specified tasks (line 42 onwards).

2 tv: This is called a template label and is used to tie different parts of the configuration file together and to save specifying the same things multiple times for multiple feeds. For example, line 45 tells FlexGet to use the RSS feed with the preset called tv.

3 series: This tells FlexGet that you are going to be using the series plugin. The series plugin has intelligent episode tracking so it will not download the same series twice even if they are added to the same RSS feed with slightly different names. Furthermore, if someone adds an old episode to a feed then FlexGet will ignore it.

4 settings: This tells FlexGet that you are going to be specifying various settings for the series plugin.

5 1080p: This tells FlexGet that you are going to be specifying various settings for all 1080p definition series (denoted by target: 1080p on line 7). See the section starting on line 16 for the series for which this section will apply.

6 timeframe: 6 hours This tells FlexGet to wait for up to 6 hours for the 1080p version to become available. If the 1080p version does not become available within 6 hours then it will download the next best quality available.

7 target: 1080p This ties in with the timeframe parameter specified above.

8 set: This tells Deluge what to do with all series in this particular section, the 1080p section.

9 move_completed_path: Once the torrents specified in the 1080p: section (lines 17-18) have finished downloading they should be moved to this folder. This also includes those shows which failed to meet the timeframe: parameter.

A couple of points worth mentioning with the move_completed_path parameter: Firstly the “deluge” user must have permission to create the folder(s) it needs. So, it must have permission to create (or write to) /media/TV Shows in this example.

Secondly, FlexGet will automatically create all required folders for you. So it will automatically create the series name folder (the %(series_name) string) and the season folder, shown by Season %(series_season). So, all CSI Miami episodes will be downloaded to: /media/TV Shows/CSI Miami/Season x/

16 1080p: Here you specify all series which you want to download using the parameters specified in the section starting at line 5.
So, in this example I’m going to be downloading Chicago Med & NCIS Los Angeles. Note the exact: yes parameter on line 23. Some series have very similar names. So, CSI, CSI Miami, CSI New York & CSI NY might cause confusion for FlexGet since it would not know whether the derivatives were the same show or different shows. The exact parameter will cause FlexGet to use strict name matching. In my example FlexGet would look for episodes called “CSI New York SxxExx” and nothing else. When you use the exact parameter the line preceding it must end with a colon. So, CSI New York: (see line 22).
If the show title has a colon in it then enclose the show title in quotes. So, “CSI: Miami”. Similarly series with numbers (eg. 24) must also be enclosed in quotes

25 This tells FlexGet that we will be using the Deluge bittorrent client. So Deluge will automatically start downloading the torrents once the torrent files have been downloaded by FlexGet. Deluge will download them to the folder specified on line 26 and once complete will be moved to the relevant move_completed_path folders.

32 If you would like to be emailed when a new episode has been found then specify the email parameters here.

42 Here we specify the various RSS feeds we’re going to be monitoring. Note the “template: tv” parameter. This tells FlexGet which settings to use for this particular RSS feed. The name you give each feed (BTCHAT:, EZRSS: etc) is not important. You can specify as many feeds as you like. FlexGet will parse the results of each feed and search for all titles specified in sections starting on line 17 and line 21.

Hopefully this has given you a taster for what’s possible with FlexGet. For further information and configuration options please visit the FlexGet website. I’ve provided the above config file here. Please feel free to edit it to suit your needs.

How do I actually use RSS feeds?

As can be seen in the example config file above starting at line 43 I’m using RSS feeds within FlexGet. But exactly how do you set one up? Well, for example, visit the EZTV website and click on the RSS page. Then specify a Show Name and hit the Search button and you will be presented with a page showing all Shows matching the search string you entered. Next click on Search-based RSS Feed and what happens next depends on what Internet Browser you’re using:

Using Firefox you’re presented with a box giving you the option to add this feed to your browser. Click the Subscribe button and this feed will be added to your RSS feeds. We actually want the URL that this feed has returned, it is no use just having the RSS within Firefox. RSS feeds in Firefox are added to the Bookmarks Toolbar. So, right-click on the feed you’ve just added, select Properties and copy and paste the Feed Location URL into your FlexGet config file.

In Internet Explorer, Opera and Google Chrome when you click on the Search-based RSS Feed option you are presented with a page titled ezRSS – Search Results. The address bar in these three browsers now contains the URL for the RSS feed you want so just copy and paste this URL into your FlexGet config file.

The method I’ve just described for the EZTV website is using a search-based feed. If you want a feed containing the latest episodes of everything on the EZTV website then when on the RSS page just click the Latest Feed option to get the URL for the latest episodes of everything and paste this into your FlexGet config file. FlexGet will filter this feed and only pull down the shows you’ve specified.

On different sites look for the RSS icon to see whether they offer an RSS based feed.