flexget.plugins.input.discover module#

class flexget.plugins.input.discover.Discover[source]#

Bases: object

Discover content based on other inputs material.

Example:

discover:
  what:
    - next_series_episodes: yes
  from:
    - piratebay
  interval: [1 hours|days|weeks]
  release_estimations: [strict|loose|ignore]
entry_complete(entry, query=None, search_results=None, **kwargs)[source]#

Use as callback for Entry.

estimated(entries, estimation_mode)[source]#

Return entries that we have estimated to be available.

Parameters:

estimation_mode (dict) – mode -> loose, strict, ignore

execute_searches(config, entries, task)[source]#

Return list of entries found from search engines listed under from configuration.

Parameters:
  • config – Discover plugin config

  • entries – List of pseudo entries to search

  • task – Task being run

interval_expired(config, task, entries)[source]#

Maintain some limit levels so that we don’t hammer search sites with unreasonable amount of queries.

Returns:

Entries that are up for config['interval']

on_task_input(task, config)[source]#
schema = {'additionalProperties': False, 'properties': {'from': {'items': {'allOf': [{'$ref': '/schema/plugins?interface=search'}, {'maxProperties': 1, 'minProperties': 1}]}, 'type': 'array'}, 'interval': {'default': '5 hours', 'format': 'interval', 'type': 'string'}, 'limit': {'minimum': 1, 'type': 'integer'}, 'release_estimations': {'oneOf': [{'default': 'strict', 'enum': ['loose', 'strict', 'ignore', 'smart'], 'type': 'string'}, {'properties': {'optimistic': {'format': 'interval', 'type': 'string'}}, 'required': ['optimistic'], 'type': 'object'}]}, 'what': {'items': {'allOf': [{'$ref': '/schema/plugins?phase=input'}, {'maxProperties': 1, 'minProperties': 1}]}, 'type': 'array'}}, 'required': ['what', 'from'], 'type': 'object'}#
class flexget.plugins.input.discover.DiscoverEntry(title, task)[source]#

Bases: VersionedBase

_sa_class_manager = {'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'last_execution': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'task': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'title': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
id#
last_execution#
task#
title#
flexget.plugins.input.discover.db_cleanup(manager, session)[source]#
flexget.plugins.input.discover.register_parser_arguments()[source]#
flexget.plugins.input.discover.register_plugin()[source]#