wiki:Plugins

Plugins

Plugins provide most of the functionality in FlexGet. Plugins usually create, manipulate or download entries but they can also change how FlexGet operates. Many plugins can use the Jinja2 template system.

Most plugins are enabled by placing a keyword and required settings in a configuration file. All plugins listed below are included in the FlexGet package (with the exception of the third-party plugins section). This documentation is meant for latest released version.

Indentation in examples

All configuration examples are assumed to be placed under a task (or template.) So if documentation has this example:

series:
  - name

In a full configuration, this goes into:

tasks:
  task_name:
    rss: http://example.com
    series:
      - name

This makes examples more compact and reduces unnecessary boilerplate.

Inputs

Produce entries from external source.
Most requests are cached so there is no penalty for using the same RSS URL multiple times in the configuration, for example.

Note: If you are looking for torrent search plugins, refer to Search Plugins.

Raw Input

Input plugins that directly parse data from a source based on its type.

KeywordDescription
csvParse any CSV-file
filesystemSearch through a local directory looking for files as a input.
htmlParse any HTML-page.
rssParse RSS-feed.
sftp_listList files from an SFTP server
search_rssSearch with parametrized rss feed.
tailTail a log file (eg. irc logs)
textParse any text data
regexp_parseUse regular expressions to parse text from a web resource or file
ftp_listLists the content of a remote FTP server

3rd party sites input

Input plugins designed to retrieve data from 3rd party web-sites, such as IMDB, trakt & etc.

KeywordDescription
anidb_listCreate entries from your AniDB wishlist.
apple_trailersGet movie trailers from Apple.com
betaseries_listUse series you follow on www.betaseries.com as an input
from_imdbProduce entries based on an IMDB person, company or character
imdb_listUse movies in your IMDb list as an input (eg. watchlist, rating history). Managed List
letterboxdCreate entries for movies on any public Letterboxd list
myepisodes_listCreate entries from the shows in your myepisodes.com account.
npo_watchlistCreate entries for the shows and episodes in your npo.nl account (Dutch public television).
pogcalProduce entries for shows marked on your pogdesign calendar.
rottentomatoes_listUse movies from Rotten Tomatoes lists.
sceperParse http://sceper.ws.
thetvdb_favoritesProduce an entry for all shows you have marked as favorites at http://thetvdb.com.
next_trakt_episodesCreate entries for the latest or the next episode to watch or collect by your trakt.tv activity.
trakt_listCreate entries from one of your trakt.tv lists. Managed List
twitterfeedCreate entries from a twitter account.
whatcdProduce entries for content on https://what.cd

3rd party software input

Input plugins designed to retrieve data from 3rd party software, such as Sonarr, couchpotato, deluge & etc.

KeywordDescription
couchpotato_list Produce entries from couchpotato wanted movies list. Managed List
from_delugeUse torrents loaded in a Deluge daemon as input.
from_rtorrentUse torrents loaded in a rTorrent as input.
from_transmissionUse torrents loaded in Transmission as input.
plexProduce entries for shows present in a Plex Media Server section.
sickbeardProduce entries from Sickbeard's show list
sonarr_listProduce entries from Sonarr's show list. Managed List
next_sonarr_episodesProduce entries for missing episodes from Sonarr
from_uoccinProduce entries from a Uoccin data file

Internal Input

Input plugins that will generate entries based on preexisting data in FlexGet.

KeywordDescription
configure_seriesConfigures the series plugin with all the shows given by any input plugin (eg. filesystem, rss).
discoverProduce entries from search results.
from_digestOutputs entries which have been collected by the digest plugin.
next_series_episodesEmits the next episode needed for each series configured in the series plugin. Useful for example with discover.
inputsConfigure the same input plugin multiple times in one task.
entry_listUse or add entries to a custom made entry list. Managed List
movie_listUse or add entries to a custom made movie list. Managed List
subtitle_listUse or add entries to a custom made subtitle list. Managed List

Filters

Reject or Accept entries based on given rules. A single task may have any number of filters.
If you plan to use multiple filters per task, you should look at filtering operations to understand how they work.

Content based filters

Filters based on the nature of the input content (such as movie, series, series premiere & etc.)

KeywordDescription
all_seriesAccepts any entry that appears to be an episode of a series.
proper_moviesKeep track of downloaded movies and force re-download proper versions.
seriesAccept TV-series episodes. Quality and episode number aware.
series_premiereAccept any entry that appears to be the first episode of a series.
list_match Use this plugin to filter entries based on another list plugin.

Metadata filters

Filters based on content's metadata such as size and quality

KeywordDescription
content_sizeReject torrents and nzb's that do not meet size requirements.
qualityReject entries not of the specified quality.

FlexGet internal filters

Filters based on preexisting data or operations within FlexGet

KeywordDescription
duplicatesPerform action based on duplicate entries by a field.
limit_newAllow only given number of entries to pass per execution.
only_newCauses all entries that were in the task on the previous run to be rejected at the input phase.
require_fieldReject entries that do not have the specified fields.
seen_moviesRejects already downloaded movies (detected by imdb-link).
seenReject already downloaded entries. Builtin

Torrent specific filters

Filters based specifically for torrents

KeywordDescription
content_filterReject based on filenames within torrents.
magnetsRejects entries with only magnet links.
private_torrentsReject private or public torrents.
seen_info_hashRejects already downloaded torrents (detected by torrent info hash). Builtin
torrent_aliveReject any torrents that do not have an active tracker with seeds.

Logical and operational filters

Filters that will accept/reject entries based on logical statements or simple file operations

KeywordDescription
accept_allAccept all entries.
archivesAccept, reject entries based on if they're valid ZIP/RAR archives.
existsReject entries based on existing files in filesystem.
exists_seriesReject entries based on existing series in filesystem.
exists_movieReject entries based on existing movies in filesystem.
ifFilter based on simple python statements.
regexpReject, Accept entries by using regular expression.
ageReject, Accept entries based on age by looking at a date in a specified entry field.

3rd party sites filters

Filters based on data retrieved from 3rd party sites

KeywordDescription
crossmatchAccept/reject based on other inputs (eg. imdb_list watchlist, ratings history).
imdbAccept movie entries based on imdb details.
imdb_requiredReject imdb incompatible entries.
rottentomatoesAccept movie entries based on Rotten Tomatoes details.

Output

Execute operation(s) on accepted entries.

3rd party software output

Send accepted entries to 3rd party software, usually downloaders.

KeywordDescription
aria2Pass URIs to be downloaded to a local computer to the aria2 downloader.
delugePass torrents directly to deluge bittorrent client, supporting magnet links.
nzbgetDownload nzbs with nzbget.
periscopeDownload subtitles with Periscope.
pyloadhttp://pyload.org/.
qbittorrentPass torrents directly to the qBittorrent client, supporting magnet links.
rtorrentPass torrents directly to rtorrent
rtorrent_magnetHandles magnet URI's and produces rTorrent compatible torrent files (0.8.9+)
sabnzbdDownload nzbs with SABnzbd.
subliminalDownload subtitles with Subliminal.
transmissionPass torrents directly to transmission, supporting magnet links.
utorrentPass torrents directly to uTorrent.
uoccin_collection_addMark all the accepted movies/episodes as collected in the Uoccin data file.
uoccin_collection_removeUnmark all the accepted movies/episodes as collected in the Uoccin data file.
uoccin_watched_true?Mark all the accepted movies/episodes as watched in the Uoccin data file.
uoccin_watched_false?Unmark all the accepted movies/episodes as watched in the Uoccin data file.
uoccin_watchlist_addAdd all the accepted movies/series in the watchlist inside the Uoccin data file.
uoccin_watchlist_removeRemove all the accepted movies/series from the watchlist inside the Uoccin data file.
uoccin_subtitlesUpdate the list of subtitles downloaded for the accepted movies/series in the Uoccin data file.

3rd party sites output

Send accepted entries to 3rd party sites, usually for tracking purposes.

KeywordDescription
myepisodesMark accepted episodes as acquired on MyEpisodes.
thetvdb_addAdd accepted series to user's thetvdb.com favorites.
thetvdb_removeRemove accepted series from user's thetvdb.com favorites.
pogcal_acquiredMark accepted episodes on pogdesign TV calendar
kodi_librarySend clean/scan requests to a remote/local Kodi server.

Notifier services output

Send accepted entries to notification services.

KeywordDescription
emailSend email when new content is passed.
prowlSend prowl notifications (iPhone).
pushoverSend Pushover notifications (iPhone and Android).
rapidpushAn easy-to-use push notification service. (Android).
notify_osdSend notifications to notify-osd.(linux only. Ubuntu tested)
notify_xmppSend notifications via XMPP.
notifymyandroidSend notifications to android.
pushbulletSend Pushbullet notifications (Android/iOS/Windows/Chrome Extension).
pushalotSend Pushalot notifications (Windows 8/Windows Phone).
snsSend SNS notifications.
slackSend Slack channel notifications.
telegramSend a Telegram message from passed entries.

FlexGet internal output

Use accepted entries as an input for various FlexGet plugins such as add to movie queue, set series begin & etc.

KeywordDescription
digestCollects entries from tasks to be combined into another task (usually for notification.)
set_series_beginSet the first episode to download for series.
list_addUse this plugin to add accepted entries to another list plugin.
list_removeUse this plugin to remove accepted entries to another list plugin.

File operations output

Perform different file operations using accepted entries.

KeywordDescription
copyCopy local files.
decompressExtract Zip and RAR files.
deleteDelete local files.
downloadDownload passed entries into given path.
execExecutes commands on entries.
ftp_downloadDownload entries retrieved from ftp_list
moveMove local files.
sftp_downloadDownload files from an SFTP server
sftp_uploadUpload files to an SFTP server

Generators output

Generate custom output using accepted entries

KeywordDescription
make_htmlGenerate HTML file from passed entries.
make_rssGenerate RSS-feed file from passed entries.

Metadata plugins

Retrieve additional data from internal parsers or 3rd party sites. Used for population of more fields than default or to actively perform data retrieval for specific input types.

These are usually automatic (Builtin) plugins which provide metainfo (fields) to Entry.

KeywordDescription
imdb_lookupEnable imdb parsing for imdb fields on-demand.
rottentomatoes_lookupEnable Rotten Tomatoes parsing for Rotten Tomatoes fields on-demand.
thetvdb_lookupFetch series information from http://thetvdb.com/
tmdb_lookupEnable http://www.themoviedb.org/ parsing for tmdb fields on-demand.
trakt_lookupEnable http://trakt.tv/ parsing for trakt fields on-demand.
tvmaze_lookupEnable http://tvmaze.com/ parsing for tvmaze fields on-demand.
check_subtitles1Check subtitles presence for local files.
uoccin_lookupFetch all the supported information from the Uoccin data file.
metainfo_movieCall internal movie parser to parse task entries and generated movie related data.

1. Not a builtin, configuration required to enable.

Modification plugins

Plugins that can manipulate data and perform various operations.

Request operations

Perform various operations on request that are being sent and received.

KeywordDescription
cfscraperEnables cloudflare scraping in a task.
cookiesUse FireFox3 cookies.
domain_delaySets a minimum interval between requests to specific domains.
formloginLog in to web site via login form.
headersModify HTTP headers.
proxyUse a proxy to access resources.
urlrewrite_searchSearch for download URL from supported sites by using entry title.

File operations

Perform file oriented operations.

KeywordDescription
add_trackersAdd trackers to torrents.
extensionForce a file extension.
free_spaceAbort task when drive space is low.
path_by_extChange (download) path based on file-type (extension).
path_by_spaceSelect a path based on disk stats
remove_trackersRemove trackers from a torrent.
setSet 'path' or other info per task. Can be dynamic per entry.

Data operations

Manipulate relevant data based on input.

KeywordDescription
assume_qualityMake assumptions about the qualities of releases.
manipulateAllows regexp manipulation for entries.
parsingConfigure another parser for series and movie titles. (can help if IMDB/TMDB/TVDB lookup fails too often)
pathscrubCleans invalid characters from generated path/file names. (Used by other plugins that generate files.)
torrent_scrubRemoves non-standard keys like libtorrent resume information from downloads (which prevents the torrent from properly starting in Rtorrent).
urlrewriteUser regexp for URL Rewriting.

FlexGet internal operations

Perform various FlexGet operations.

KeywordDescription
archiveArchive all seen entries for searchable database for later retrieval.
delayAdds artificial delay into a task.
disableDisable builtin plugin(s) from a task, or plugins included from a template.
includeInclude configuration from another yaml file.
intervalMaintain minimum poll interval for the task.
manualOnly run the task when explicitly specified.
no_entries_okSilence warnings about task not producing entries, for tasks where that is normal.
priorityChange task execution order.
plugin_priorityChange plugin priorities.
remember_rejectedRemember rejections and reject them in future runs.
retry_failedSave failed entries so they can be retried. Builtin
secretsReplace specific jinja2 values in config before executing tasks.
sequence?Allows the same plugin to be configured multiple times in a task.
sleepCauses a pause to occur at a specified point during task execution.
sort_bySort entries in a task.
templateProvides global configuration and named templates.
verify_ssl_certificatesCan turn off SSL certificate verification on a task.
version_checkerChecks if user is running latest Flexget version on a given interval.

3rd party software

Perform operations on 3rd part software.

KeywordDescription
clean_transmissionClean Transmission queue.
rutrackerSupports downloading torrents from rutracker.
uoccin_readerSynchronize a Uoccin data file.

Daemon

These plugins are specifically for when FlexGet is being used in daemon mode. They differ from the other plugins documented here, in that they should be configured at the root of your config. Not inside any tasks or templates.

schedulerExecutes tasks with a given interval or schedule while daemon is running.

Command Line Interface

Use flexget --help for full list of subcommands. --help can also be used with any of the subcommands for further help text.

injectInject entries into tasks from the CLI.
serviceEXPERIMENTAL A Windows service installer for the FlexGet daemon.

execute command options

Use flexget execute --help for full option list.

--cli-configAllow using values from commandline in YML-configuration file.
--dump?Display all entries after task execution.
--tasksExecutes only the specified task(s)
--injectInjects custom entry into task(s).
--try-regexpTest how regexps work on task(s) interactively.

Third-party plugin

Plugins can be installed by simply placing them in ~/.flexget/plugins/

jdownloaderjDownloader output - perhaps included in the core package sooner or later.

Deprecated

emit_movie_queueEmit your movie_queue.
movie_queueAccept movies from movie queue.
subtitle_queueAdd or accept files to get subtitles for.
Last modified 5 days ago Last modified on 06/23/16 08:45:01