FlexGet is a multipurpose automation tool for all of your media. It offers wide support including torrents, nzbs, podcasts, comics, TV, movies, RSS, HTML, CSV, and more.
Installation
We evaluated FlexGet using Manjaro, an Arch-based distro, as well as the ubiquitous Ubuntu.
With Manjaro, Pamac (Manjaro’s front-end installation tool) lets us install from the Arch User Repository (AUR).
The AUR is a community-driven repository. It contains package descriptions (PKGBUILDs) that allow users to compile a package from source with makepkg and then install it via the in-house pacman, a lightweight, simple and fast package manager that allows for continuously upgrading the entire system with one command
The software has so many dependencies, we didn’t expect the build process to go smoothly and would need manual intervention. We were wrong; every single package built with no issues.
Post-Installation
We’re not ready yet to start using FlexGet. You need to manually create a configuration file. FlexGet uses YAML markup in the configuration file. YAML is a way of defining sets of keys (such as plugin names or options) and values (such as series names or path to download files).
On our test system we saved our config file at ~/.config/flexget/config.yml
.
Here’s an example config file.
templates: book: rss: url: '' all_entries: no # Replace with your Downloader plugin deluge: path: '~/Downloading' queuetotop: yes accept_all: yes no_entries_ok: yes tasks: book-tv: priority: 1 # Set your download location and label acording to downloader plugin set: movedone: '~/TV/{{ series_name }}' label: 'TV' exists_series: '~/TV/{{ series_name }}' metainfo_series: yes tvmaze_lookup: yes require_field: - tvmaze_series_name template: book book-movie: priority: 2 # Set your download location and label according to downloader plugin set: main_file_only: yes keep_subs: yes hide_sparse_files: no movedone: '~/Movies' label: 'Movies' metainfo_movie: yes imdb_lookup: yes require_field: - imdb_name # For IMDB lookup issues failures if: - imdb_name == None: reject template: book book-other: priority: 3 metainfo_series: yes imdb_lookup: yes tvmaze_lookup: yes if: - has_field('imdb_name'): # For IMDB lookup issues failures if: - imdb_name != None: reject - has_field('tvmaze_series_name'): reject # Set your download location and label according to downloader plugin set: movedone: '~/Other' label: 'Bookmarks' template: book
Plugins provide most of the functionality in FlexGet. Plugins usually create, manipulate or download entries but they can also change how FlexGet operates.
Summary
FleXget is a very powerful download tool. For example, it integrates with SABnzbd, Deluge, Transmission, and other clients. It offers very comprehensive series support.
We mostly use the program for an automated podcast listening experience. It’s very useful when in conjunction with applications which have watch directory support.
But it’s essential to study the project’s Cookbook. If you hate editing text file, FlexGet is not for you.
Website: www.flexget.com
Support: GitHub Code Repository
Developer: Chase Sterling, Or Carmi, and many contributors
License: MIT License
FlexGet is written in Python. Learn Python with our recommended free books and free tutorials.