flexget.components.series.series module#

class flexget.components.series.series.FilterSeries[source]#

Bases: FilterSeriesBase

Intelligent filter for tv-series.

https://flexget.com/Plugins/series

auto_exact(config)[source]#

Automatically enable exact naming option for series that look like a problem.

on_task_filter(task, config)[source]#

Filter series.

on_task_learn(task, config)[source]#

Learn succeeded episodes.

on_task_metainfo(task, config)[source]#
parse_series(entries, series_name, config, db_identified_by=None)[source]#

Search for series_name and populate all series_* fields in entries when successfully parsed.

Parameters:
  • entries – List of entries to process

  • series_name – Series name which is being processed

  • config – Series config being processed

  • db_identified_by – Series config being processed

process_entity_tracking(entity, entries, threshold)[source]#

Rejects all entity that are too old or new, return True when this happens.

Parameters:
  • entity – Entity model

  • entries (list) – List of entries for given episode.

  • threshold (int) – Number of episodes allowed in season

process_propers(config, episode, entries)[source]#

Accept needed propers. Nuke episodes from which there exists proper.

Returns:

A list of episodes to continue processing.

process_qualities(config, entries, downloaded)[source]#

Handle all modes that can accept more than one quality per episode. (qualities, upgrade).

Returns:

True - if at least one wanted quality has been downloaded or accepted. False - if no wanted qualities have been accepted

process_quality(config, entries)[source]#

Filter eps that do not fall between within our defined quality standards.

Returns:

A list of eps that are in the acceptable range

process_series(task, series_entries, config)[source]#

Accept or Reject episode or season pack from available releases, or postpone choosing.

Parameters:
  • task – Current Task

  • series_entries – dict mapping Episodes or Seasons to entries for that episode or season_pack

  • config – Series configuration

process_timeframe(task, config, episode, entries)[source]#

Run the timeframe logic to determine if we should wait for a better quality.

Save current best to backlog if timeframe has not expired.

Returns:

True - if we should keep the quality (or qualities) restriction False - if the quality restriction should be released, due to timeframe expiring

process_timeframe_target(config, entries, downloaded=None)[source]#

Accept first episode matching the quality configured for the series.

Returns:

True if accepted something

property schema#
class flexget.components.series.series.FilterSeriesBase[source]#

Bases: object

Class that contains helper methods for both filter.series as well as plugins that configure it, such as all_series, series_premiere and configure_series.

apply_group_options(config)[source]#

Apply group settings to each item in series group and remove settings dict.

combine_series_lists(*series_lists, **kwargs)[source]#

Combine the series from multiple lists, making sure there are no doubles.

If keyword argument log_once is set to True, an error message will be printed if a series is listed more than once, otherwise log_once will be used.

make_grouped_config(config)[source]#

Turn a simple series list into grouped format with a empty settings dict.

merge_config(task, config)[source]#

Merge another series config dict in with the current one.

prepare_config(config)[source]#

Generate a list of unique series from configuration.

This way we don’t need to handle two different configuration formats in the logic. Apply group settings with advanced form.

season_pack_opts(season_packs)[source]#

Parse the user’s season_packs option, and turn it in to a more useful form.

property settings_schema#
class flexget.components.series.series.SeriesDBManager[source]#

Bases: FilterSeriesBase

Update in the database with series info from the config.

on_task_start(task, config)[source]#
flexget.components.series.series.clean_series(manager)[source]#
flexget.components.series.series.populate_entry_fields(entry, parser, config)[source]#

Populate all series_fields for given entry based on parser.

Parameters:

parser – A valid result from a series parser used to populate the fields.

Config dict:

If supplied, will use ‘path’ and ‘set’ options to populate specified fields.

flexget.components.series.series.register_parser_arguments()[source]#
flexget.components.series.series.register_plugin()[source]#
flexget.components.series.series.repair(manager)[source]#