wiki:Plugins
Last modified 11 days ago Last modified on 05/13/13 01:15:16

Plugins

Plugins provide most of the functionality in FlexGet. Plugins usually create, manipulate or download entries but they can also change how FlexGet operates.

Most plugins are enabled by placing a keyword and required settings in a configuration file. All these plugins are included in the FlexGet package with the exception of ones in 3rd party plugins section.

Indentation in examples

All configuration examples are assumed to be placed under a task. So if documentation has example:

series:
  - name

In 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 example using same RSS URL multiple times in the configuration.

KeywordDescription
apple_trailersGet movie trailers from Apple.com
csvParse any CSV-file
discoverProduce entries from search results.
emit_movie_queueNEW Emit your movie_queue, useful for example with discover.
findNEW Search through a local directory looking for files as a input.
from_delugeNEW Use torrents loaded in a Deluge daemon as input.
from_transmission?NEW Use torrents loaded in Transmission as input.
htmlParse any HTML-page.
imdb_listUse movies in your IMDb list as an input (eg. watchlist, rating history).
inputsConfigure the same input plugin multiple times in one task.
listdirUse any local directory listing as a input.
plexNEW Produce entries for shows present in a Plex Media Server section.
pogcalNEW Produce entries for shows marked on your pogdesign calendar.
rlslogParse http://rlslog.net category.
rottentomatoes_listUse movies from Rotten Tomatoes lists.
rssParse RSS-feed.
scenereleasesParse http://scenereleases.info.
tailTail a log file (eg. irc logs)
textParse any text data
thetvdb_favoritesProduce an entry for all shows you have marked as favorites at http://thetvdb.com.
trakt_listNEW Create entries from one of your trakt.tv lists.
tvtBROKEN Parse http://tvtorrents.com.
regexp_parseUse regular expressions to parse text from a web resource or file

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.

KeywordDescription
accept_allAccept all entries.
all_seriesAccepts any entry that appears to be an episode of a series.
content_filterReject based on filenames within torrents.
content_sizeReject torrents and nzb's that do not meet size requirements.
crossmatchAccept/reject based on other inputs (eg. imdb_list watchlist, ratings history).
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.
imdbAccept movie entries based on imdb details.
imdb_requiredReject imdb incompatible entries.
limit_newAllow only given number of entries to pass per execution.
movie_queueAccept movies from movie queue.
magnetsRejects entries with only magnet links.
only_newCauses all entries that were in the task on the previous run to be rejected at the input phase.
private_torrentsReject private or public torrents.
proper_moviesKeep track of downloaded movies and force re-download proper versions.
qualityReject entries not of the specified quality.
regexpReject, Accept entries by using regular expression.
reject_failedReject entries that have failed too many times in the past. Builtin
require_fieldReject entries that do not have the specified fields.
rottentomatoesAccept movie entries based on Rotten Tomatoes details.
seen_moviesRejects already downloaded movies (detected by imdb-link).
seen_info_hashRejects already downloaded torrents (detected by torrent info hash). Builtin
seenReject already downloaded entries. Builtin
seriesAccept TV-series episodes. Quality and episode number aware.
series_premiereAccept any entry that appears to be the first episode of a series.
torrent_aliveReject any torrents that do not have an active tracker with seeds.

Site integration & Auto configuration

KeywordDescription
imdb_lookupEnable imdb parsing for imdb fields on-demand.
myepisodesNEW Mark accepted episodes as acquired on MyEpisodes.
rottentomatoes_lookupEnable Rotten Tomatoes parsing for Rotten Tomatoes fields on-demand.
thetvdb_lookupFetch series information from thetvdb.
tmdb_lookupEnable http://www.themoviedb.org/ parsing for imdb fields on-demand.
trakt_acquiredNEW Mark accepted episodes/movies as acquired on trakt.tv.
pogcal_acquiredNEW Mark accepted episodes on pogdesign TV calendar

These plugins configure other plugins from external sources like 3rd party sites.

KeywordDescription
import_seriesConfigures the series plugin with all the shows given by any input plugin (eg. listdir, rss).

Outputs

Execute operation(s) on accepted entries.

KeywordDescription
delugePass torrents directly to deluge bittorrent client.
downloadDownload passed entries into given path.
emailUPDATED Send email when new content is passed.
execExecutes commands on entries.
notifymyandroidNEW Send notifications to android.
make_htmlGenerate HTML file from passed entries.
make_rssGenerate RSS-feed file from passed entries.
moveNEW Move local files.
nzbgetNEW Download nzbs with nzbget.
prowlSend prowl notifications (iPhone).
pushoverNEW Send Pushover notifications (iPhone and Android).
rapidpushNEW An easy-to-use push notification service. (Android).
pyloadNEW http://pyload.org/.
rtorrent_magnetNEW Handles magnet URI's and produces rTorrent compatible torrent files (0.8.9+)
sabnzbdDownload nzbs with SABnzbd.
transmissionPass entries' url to transmission, supporting magnet links.
queue_moviesNEW Add to movie queue.
notify_osdNEW Send notifications to notify-osd.(linux only. Ubuntu tested)

Modify / Other

KeywordDescription
add_trackersAdd trackers to torrents.
archiveUPGRADED Archive all seen entries for searchable database for later retrieval.
cookiesUPGRADED Use FireFox3 cookies.
delayAdds artificial delay into a task.
disable_builtinsDisable builtin plugin(s) from a task.
disable_pluginDisable plugins from presets.
domain_delayNEW Sets a minimum interval between requests to specific domains.
extensionForce a file extension.
formloginLog in to web site via login form.
free_spaceAbort task when drive space is low.
headersModify HTTP headers.
includeInclude configuration from another yaml file.
intervalMaintain minimum poll interval for the task.
manipulateAllows regexp manipulation for entries.
manualNEW Only run the task when explicitly specified.
pathscrubNEW Cleans invalid characters from generated path/file names. (Used by other plugins that generate files.)
path_by_extChange (download) path based on file-type (extension).
priorityChange task execution order.
proxyNEW Use a proxy to access resources.
plugin_priorityChange plugin priorities.
remove_trackersRemove trackers from a torrent.
presetProvides global configuration and named presets.
setSet 'path' or other info per task. Can be dynamic per entry.
sleepCauses a pause to occur before execution of a task.
sort_bySort entries in a task.
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.
urlrewrite_searchSearch for download URL from supported sites.
verify_ssl_certificatesCan turn off SSL certificate verification on a task.

Metainfo

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

metainfo_quality?Parses quality from the entry.
metainfo_task?Populates task field for entries.
metainfo_series?1Populates series related fields for entries, even without series plugin.
metainfo_imdb?Detects imdb urls from description.

1. Not a builtin, configuration required to enable.

search_rss?Search with parametrized rss feed.

Command line plugins

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

3rd party plugins

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

rtorrentNEW Scan (parts of) your rtorrent session.
my_movie_filterAn extremely specific custom movie filter by atlanta800.
flexget-twitterNEW Twitter output plugin, allowing posting to twitter when entries are accepted.
jdownloaderjDownloader output - perhaps included in the core package sooner or later.