plugins Package

plugins Package

Standard plugin package.

api_tmdb Module

class flexget.plugins.api_tmdb.ApiTmdb

Bases: object

Does lookups to TMDb and provides movie information. Caches lookups.

static get_movie_details(movie, session)

Populate details for this :movie: from TMDb

static lookup(*args, **kwargs)
class flexget.plugins.api_tmdb.TMDBContainer(init_dict=None)

Bases: object

Base class for TMDb objects

update_from_dict(update_dict)

Populates any simple (string or number) attributes from a dict

class flexget.plugins.api_tmdb.TMDBGenre(init_dict=None)

Bases: flexget.plugins.api_tmdb.TMDBContainer, sqlalchemy.ext.declarative.Base

id
name
class flexget.plugins.api_tmdb.TMDBMovie(init_dict=None)

Bases: flexget.plugins.api_tmdb.TMDBContainer, sqlalchemy.ext.declarative.Base

adult
alternative_name
budget
certification
genres
homepage
id
imdb_id
language
movie_type
name
original_name
overview
popularity
posters
rating
released
revenue
runtime
tagline
trailer
translated
updated
url
votes
year = <sqlalchemy.sql.expression._Extract object at 0x4a84510>
class flexget.plugins.api_tmdb.TMDBPoster(init_dict=None)

Bases: flexget.plugins.api_tmdb.TMDBContainer, sqlalchemy.ext.declarative.Base

db_id
file
get_file(only_cached=False)

Makes sure the poster is downloaded to the local cache (in userstatic folder) and returns the path split into a list of directory and file components

id
movie_id
size
type
url
class flexget.plugins.api_tmdb.TMDBSearchResult(**kwargs)

Bases: sqlalchemy.ext.declarative.Base

id
movie
movie_id
search
flexget.plugins.api_tmdb.get_first_result(tmdb_function, value)

api_tvdb Module

class flexget.plugins.api_tvdb.TVDBContainer(init_bss=None)

Bases: object

Base class for TVDb objects

update_from_bss(update_bss)

Populates any simple (string or number) attributes from a dict

class flexget.plugins.api_tvdb.TVDBEpisode(init_bss=None)

Bases: flexget.plugins.api_tvdb.TVDBContainer, sqlalchemy.ext.declarative.Base

director
episodename
episodenumber
expired
filename
firstaired
gueststars
id
lastupdated
overview
rating
seasonnumber
series_id
update()
writer
class flexget.plugins.api_tvdb.TVDBSearchResult(**kwargs)

Bases: sqlalchemy.ext.declarative.Base

id
search
series
series_id
class flexget.plugins.api_tvdb.TVDBSeries(init_bss=None)

Bases: flexget.plugins.api_tvdb.TVDBContainer, sqlalchemy.ext.declarative.Base

airs_dayofweek
airs_time
banner
contentrating
episodes
expired
fanart
firstaired
genre
get_poster(only_cached=False)

Downloads this poster to a local cache and returns the path

id
imdb_id
language
lastupdated
network
poster
poster_file
rating
runtime
seriesname
status
update()
zap2it_id
flexget.plugins.api_tvdb.find_series_id(name)

Looks up the tvdb id for a series

flexget.plugins.api_tvdb.get_mirror(type='xml')

Returns a random mirror for a given type ‘xml’, ‘zip’, or ‘banner’

plugin_archive Module

plugin_change_warn Module

class flexget.plugins.plugin_change_warn.ChangeWarn

Bases: object

Gives warning if user has deprecated / changed configuration in the root level.

Will be replaced by root level validation in the future!

Contains ugly hacks, better to include all deprecation warnings here during 1.0 BETA phase

on_process_start(feed)

plugin_cookies Module

class flexget.plugins.plugin_cookies.PluginCookies

Adds cookie to all requests (rss, resolvers, download). Anything that uses urllib2 to be exact.

Currently supports Firefox 3 cookies only.

Example:

cookies: /path/firefox/profile/something/cookies.sqlite

get_config(feed)
on_feed_abort(feed)

Feed exiting, remove cookiejar

on_feed_exit(feed)

Feed exiting, remove cookiejar

on_feed_start(feed)

Feed starting, install cookiejar

sqlite2cookie(filename)
validator()

plugin_deluge Module

class flexget.plugins.plugin_deluge.DelugePlugin

Bases: object

Base class for deluge plugins, contains settings and methods for connecting to a deluge daemon.

on_feed_abort(feed, config)
on_process_start(feed, config)

Raise a DependencyError if our dependencies aren’t available

prepare_connection_info(config)
validate_connection_info(dict_validator)
class flexget.plugins.plugin_deluge.InputDeluge

Bases: flexget.plugins.plugin_deluge.DelugePlugin

Create entries for torrents in the deluge session.

on_connect_success(result, feed, config)

Creates a list of FlexGet entries from items loaded in deluge and stores them to self.entries

on_feed_input(feed, config)

Generates and returns a list of entries from the deluge daemon.

prepare_config(config)
settings_map = {'files': ('content_files', <function <lambda> at 0x507d320>), 'hash': 'torrent_info_hash', 'private': 'deluge_private', 'num_peers': 'torrent_peers', 'move_on_completed_path': 'deluge_movedone', 'num_seeds': 'torrent_seeds', 'ratio': 'deluge_ratio', 'name': 'title', 'total_size': ('content_size', <function <lambda> at 0x507d2a8>), 'label': 'deluge_label', 'state': 'deluge_state', 'eta': 'deluge_eta', 'save_path': 'deluge_path', 'progress': 'deluge_progress'}
validator()
class flexget.plugins.plugin_deluge.OutputDeluge

Bases: flexget.plugins.plugin_deluge.DelugePlugin

Add the torrents directly to deluge, supporting custom save paths.

add_to_deluge11(feed, config)

Add torrents to deluge using deluge 1.1.x api.

on_connect_success(result, feed, config)

Gets called when successfully connected to a daemon.

on_feed_abort(feed, config)

Make sure normal cleanup tasks still happen on abort.

on_feed_download(feed, config)

call download plugin to generate the temp files we will load into deluge then verify they are valid torrents

on_feed_exit(feed, config)

Make sure all temp files are cleaned up when feed exits

on_feed_output(feed, config)

Add torrents to deluge at exit.

on_process_start(feed, config)

Register the usable set: keywords. Detect what version of deluge is loaded.

prepare_config(config)
validator()

plugin_entry_trace Module

class flexget.plugins.plugin_entry_trace.PluginEntryTrace

Bases: object

Records accept, reject and fail metainfo into entries.

on_entry_accept(feed, entry, **kwargs)
on_entry_fail(feed, entry, **kwargs)
on_entry_reject(feed, entry, **kwargs)
flexget.plugins.plugin_entry_trace.entry_action_factory(action)

plugin_formlogin Module

class flexget.plugins.plugin_formlogin.FormLogin

Bases: object

Login on form

on_feed_abort(feed, config)

Feed exiting, remove cookiejar

on_feed_exit(feed, config)

Feed exiting, remove cookiejar

on_feed_start(feed, config)
validator()

plugin_import_series Module

class flexget.plugins.plugin_import_series.ImportSeries

Bases: flexget.plugins.filter.series.FilterSeriesBase

Generates series configuration from any input (supporting API version 2, soon all)

Configuration:

import_series:
[settings]:
# same configuration as series plugin
from:
[input plugin]: <configuration>

Example:

import_series:
settings:
quality: 720p
from:
listdir:
  • /media/series
on_feed_start(feed, config)
validator()

plugin_include Module

class flexget.plugins.plugin_include.PluginInclude

Bases: object

Include configuration from another yaml file.

Example:

include: series.yml

File content must be valid for a feed configuration

get_config(feed)
on_process_start(feed)
validator()

plugin_nzbmatrix Module

class flexget.plugins.plugin_nzbmatrix.NzbMatrix

Bases: object

NZBMatrix search plugin.

clean(s)

clean the title name for search

getparams(config)
parse_nzb_matrix_api(apireturn, title)
search(query, comparator, config=None)
validator()

plugin_preset Module

class flexget.plugins.plugin_preset.DisablePlugin

Bases: object

Allows disabling plugins when using presets.

Example:

presets:
movies:
download: ~/torrents/movies/ . .
feeds:
nzbs:

preset: movies disable_plugin:

  • download
sabnzbd:

Feed nzbs uses all other configuration from preset movies but removes the download plugin

on_feed_start(feed, config)
validator()
class flexget.plugins.plugin_preset.PluginPreset

Bases: object

Use presets.

Example:

preset: movies

Example, list of presets:

preset:
  • movies
  • imdb
on_process_start(feed, config)
prepare_config(config)
validator()
flexget.plugins.plugin_preset.root_config_validator()

Returns a validator for the ‘presets’ key of config.

plugin_sort_by Module

class flexget.plugins.plugin_sort_by.PluginSortBy

Sort feed entries based on a field

Example:

sort_by: title

More complex:

sort_by:
field: imdb_score reverse: yes

Reverse the order of the entries, without sorting on a field:

sort_by:
reverse: yes
on_feed_filter(feed, config)
validator()

plugin_spy_headers Module

class flexget.plugins.plugin_spy_headers.CustomHTTPConnection(*args, **kwargs)

Bases: httplib.HTTPConnection

putheader(header, value)
class flexget.plugins.plugin_spy_headers.HTTPCaptureHeaderHandler(debuglevel=0)

Bases: urllib2.AbstractHTTPHandler

do_open(http_class, req)
handler_order = 400
http_open(req)
http_request(request)
https_open(req)
https_request(request)
class flexget.plugins.plugin_spy_headers.PluginSpyHeaders

Bases: object

Logs all headers sent in http requests. Useful for resolving issues.

WARNING: At the moment this modifies requests somehow!

on_feed_abort(feed)

Feed exiting, remove additions

on_feed_exit(feed)

Feed exiting, remove additions

on_feed_start(feed)
validator()

plugin_transmission Module

class flexget.plugins.plugin_transmission.PluginTransmission

Bases: flexget.plugins.plugin_transmission.TransmissionBase

Add url from entry url to transmission

Example:

transmission:
host: localhost port: 9091 netrc: /home/flexget/.tmnetrc username: myusername password: mypassword path: the download location removewhendone: yes

Default values for the config elements:

transmission:
host: localhost port: 9091 enabled: yes removewhendone: no
add_to_transmission(cli, feed, config)

Adds accepted entries to transmission

on_feed_abort(feed, config)

Make sure all temp files are cleaned up when feed exits

on_feed_download(feed, config)

Call download plugin to generate the temp files we will load into deluge then verify they are valid torrents

on_feed_exit(feed, config)

Make sure all temp files are cleaned up when feed exits

on_feed_output(*args, **kwargs)
on_process_start(*args, **kwargs)
prepare_config(config)
remove_finished(cli)
validator()

Return config validator

class flexget.plugins.plugin_transmission.PluginTransmissionInput

Bases: flexget.plugins.plugin_transmission.TransmissionBase

on_feed_input(feed, config)
prepare_config(config)
validator()

Return config validator

class flexget.plugins.plugin_transmission.TransmissionBase

Bases: object

create_rpc_client(config)
on_feed_start(*args, **kwargs)
on_process_start(*args, **kwargs)
prepare_config(config)
flexget.plugins.plugin_transmission.save_opener(f)

Transmissionrpc sets a new default opener for urllib2 We use this as a decorator to capture and restore it when needed

plugin_try_regexp Module

class flexget.plugins.plugin_try_regexp.PluginTryRegexp

This plugin allows user to test regexps for a feed.

matches(entry, regexp)

Return True if any of the entry string fields match given regexp

on_feed_filter(feed)

plugin_urlrewriting Module

class flexget.plugins.plugin_urlrewriting.PluginUrlRewriting

Bases: object

Provides URL rewriting framework

on_feed_urlrewrite(feed)
url_rewritable(feed, entry)

Return True if entry is urlrewritable by registered rewriter.

url_rewrite(feed, entry)

Rewrites given entry url. Raises UrlRewritingError if failed.

exception flexget.plugins.plugin_urlrewriting.UrlRewritingError(value)

Bases: exceptions.Exception

plugin_verbose Module

class flexget.plugins.plugin_verbose.Verbose

Bases: object

Verbose entry accept, reject and failure

on_entry_accept(feed, entry, reason='', **kwargs)
on_entry_fail(feed, entry, reason='', **kwargs)
on_entry_reject(feed, entry, reason='', **kwargs)
on_feed_exit(feed)
on_process_end(feed)
verbose_details(feed, **kwarg)

plugin_verbose_details Module

class flexget.plugins.plugin_verbose_details.PluginDetails

Bases: object

on_feed_download(feed)
on_feed_input(feed)

search_kat Module

class flexget.plugins.search_kat.SearchKAT

Bases: object

KAT search plugin.

should accept: kat: <category>

categories:
all movies tv music books xxx other
search(query, comparator, config)
validator()

search_rss Module

class flexget.plugins.search_rss.SearchRSS

Bases: object

A generic search plugin that can use rss based search feeds. Configure it like rss plugin, but include {{{search_term}}} in the url where the search term should go.

search(query, comparator, config=None)
validator()

urlrewrite_bakabt Module

class flexget.plugins.urlrewrite_bakabt.UrlRewriteBakaBT

Bases: object

BakaBT urlrewriter.

parse_download_page(*args, **kwargs)
url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_btchat Module

class flexget.plugins.urlrewrite_btchat.UrlRewriteBtChat

BtChat urlrewriter.

url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_btjunkie Module

class flexget.plugins.urlrewrite_btjunkie.UrlRewriteBtJunkie

BtJunkie urlrewriter.

url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_deadfrog Module

class flexget.plugins.urlrewrite_deadfrog.UrlRewriteDeadFrog

Bases: object

DeadFrog urlrewriter.

parse_download_page(*args, **kwargs)
url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_demonoid Module

class flexget.plugins.urlrewrite_demonoid.UrlRewriteDemonoid

UrlRewriter and Search functionality for demonoid.

Will accept:
demonoid: <category>
Or:
demonoid:
  • category: <category>
  • quality: <quality>
  • sub-category: <category>

Categories:

  • all
  • applications
  • audio books
  • tv
  • games
  • books
  • comics
  • anime
  • misc
  • movies
  • music
  • music videos
  • pictures
search(*args, **kwargs)
url_rewritable(feed, entry)
url_rewrite(feed, entry)
validator()

urlrewrite_google_cse Module

class flexget.plugins.urlrewrite_google_cse.UrlRewriteGoogleCse

Google custom query urlrewriter.

url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_isohunt Module

class flexget.plugins.urlrewrite_isohunt.UrlRewriteIsoHunt

Bases: object

IsoHunt urlrewriter and search plugin.

should accept: isohunt: <category>

categories: empty or -1: All 0 : Misc. 1 : Video/Movies 2 : Audio 3 : TV 4 : Games 5 : Apps 6 : Pics 7 : Anime 8 : Comics 9 : Books 10: Music Video 11: Unclassified 12: ALL
search(query, comparator, config)
url_rewritable(feed, entry)
url_rewrite(feed, entry)
validator()

urlrewrite_newtorrents Module

class flexget.plugins.urlrewrite_newtorrents.NewTorrents

NewTorrents urlrewriter and search plugin.

search(query, comparator, config=None)
url_from_page(*args, **kwargs)
url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_newzleech Module

class flexget.plugins.urlrewrite_newzleech.UrlRewriteNewzleech

Bases: object

UrlRewriter or search by using newzleech.com TODO: implement basic url rewriting

search(*args, **kwargs)

urlrewrite_nyaa Module

class flexget.plugins.urlrewrite_nyaa.UrlRewriteNyaa

Nyaa urlrewriter and search plugin.

search(query, comparator, config)
url_rewritable(feed, entry)
url_rewrite(feed, entry)
validator()

urlrewrite_piratebay Module

class flexget.plugins.urlrewrite_piratebay.UrlRewritePirateBay

Bases: object

PirateBay urlrewriter.

parse_download_page(*args, **kwargs)
search(query, comparator, config=None)
search_title(*args, **kwargs)
url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_redskunk Module

class flexget.plugins.urlrewrite_redskunk.UrlRewriteRedskunk

Redskunk urlrewriter.

url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_stmusic Module

class flexget.plugins.urlrewrite_stmusic.UrlRewriteSTMusic

STMusic urlrewriter.

url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_torrentz Module

class flexget.plugins.urlrewrite_torrentz.UrlRewriteTorrentz

Bases: object

Torrentz urlrewriter.

search(query, comparator, config=None)
search_title(name, comparator=<flexget.utils.search.StringComparator object at 0x5e4dd10>)
url_rewritable(feed, entry)
url_rewrite(feed, entry)

urlrewrite_urlrewrite Module

class flexget.plugins.urlrewrite_urlrewrite.UrlRewrite

Bases: object

Generic configurable urlrewriter.

Example:

urlrewrite:
demonoid:
regexp: http://www.demonoid.com/files/details/ format: http://www.demonoid.com/files/download/HTTP/
on_feed_start(feed)
resolves = {}
url_rewritable(feed, entry)
url_rewrite(feed, entry)
validator()

Subpackages