The Beauty of FlexGet
On of our latest discoveries has been FlexGet. In the author(s) own words; "FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, etc". What this basically means is that FlexGet work it's magic on most sources and do all kind of funky stuff with it. It's RSS (among others) on Steroids. In this intro I will show you how you can take a feed and filter it with one of the most fun plugins; the imdb-plugin. I will not cover the installation bit because that will differ a lot between OS's. They have an excellent install wizard on the wiki just follow that and you will be fine.
Now to get started open up your config.yml file. The YML standard is ident-sensitive so make sure you don't mess up the indentation, use two spaces for each level. Now for this little how-to we want to parse an rss feed with movies, check it against imdb and if it matches our preferences we want to download the .torrent-file to a watch-folder.
Let's start by defining an new feed:
feeds:
my_movies:
rss: http://rss.my-movies.net
FlexGet divides plugins into three separate categories; inputs, outputs, filters. We created a new feed with the name "my_movies" and activated one plugin called "rss" which is an input filter that can parse rss-feeds. Now let's continue and add the most important plugin, the "IMDB"-plugin.
feeds:
my_movies:
rss: http://rss.my-movies.net
imdb:
min_score: 7.0
min_votes: 5000
min_year: 1980
reject_genres:
- horror
- documentary
- musical
- biography
Now I guess you can guess what most things do just by looking at the config. "min_score" defines the minimal IMDB score the movie must have to go to the next step ("min_votes" in this case). If one of those checks fails it will just stop and wait for new entries to parse. There is a lot more you could possibly do with this plugin, filtering based on language, actors that play in the movie or even who directed it. The wiki page on the plugin will tell you all about the usage.
Now to turn this into a working config we just need to define a output filter.
feeds:
my_movies:
rss: http://rss.my-movies.net
imdb:
min_score: 7.0
min_votes: 5000
min_year: 1980
reject_genres:
- horror
- documentary
- musical
- biography
download: ~/torrents/watch
The line we just added simply defines that if a match is found the corresponding .torrent-file should be downloaded to the "torrents/watch" folder in my home folder. It's a folder that my client just watches for changes every torrent in this folder will be automatically downloaded.
And that's it, a working, simple, FlexGet config. Please visit the FlexGet site and see how you can make it work for you.
Update
For those on Deluge, and hopefully that is most of you who are reading this, NimbleRabbit had a great suggestion; using the Deluge plugin. This will replace the watch folder output plugin and will add the torrents straight through Deluge. This is a great way to stay organized if you are using multiple feed.
feeds:
my_movies:
rss: http://rss.my-movies.net
imdb:
min_score: 7.0
min_votes: 5000
min_year: 1980
reject_genres:
- horror
- documentary
- musical
- biography
deluge:
host: localhost
port: daemonport
user: username
pass: password
movedone: ~/torrents/completed/Movies