flexget.components.managed_lists.lists.ombi_list module#
Create a Ombi managed list.
- exception flexget.components.managed_lists.lists.ombi_list.ApiError(response)[source]#
Bases:
ExceptionException raised when an API call fails.
- class flexget.components.managed_lists.lists.ombi_list.Config[source]#
Bases:
TypedDictThe config schema for the Ombi managed list.
- on_remove: NotRequired[Literal['unavailable', 'denied', 'deleted']]#
- status: Literal['approved', 'requested', 'denied', 'all']#
- type: Literal['shows', 'seasons', 'episodes', 'movies']#
- class flexget.components.managed_lists.lists.ombi_list.OmbiEntry(request, entry_type, data)[source]#
Bases:
objectRepresents a Generic entry returned from the Ombi API.
- Parameters:
request (OmbiRequest)
entry_type (str)
- already_requested()[source]#
Check if an entry in Ombi has already been requested.
- Returns:
tuple[bool, str]: A tuple containing a boolean indicating if the entry has already been requested and a string indicating the status of the entry.
Mark an entry in Ombi as unavailable.
- class flexget.components.managed_lists.lists.ombi_list.OmbiList[source]#
Bases:
object- schema = {'additionalProperties': False, 'oneOf': [{'required': ['username', 'password']}, {'required': ['api_key']}], 'properties': {'api_key': {'type': 'string'}, 'hide_available': {'default': True, 'type': 'boolean'}, 'include_ep_title': {'default': False, 'type': 'boolean'}, 'include_year': {'default': False, 'type': 'boolean'}, 'on_remove': {'default': 'deleted', 'enum': ['unavailable', 'denied', 'deleted'], 'type': 'string'}, 'password': {'type': 'string'}, 'status': {'default': 'approved', 'enum': ['approved', 'requested', 'denied', 'all'], 'type': 'string'}, 'type': {'enum': ['shows', 'seasons', 'episodes', 'movies'], 'type': 'string'}, 'url': {'type': 'string'}, 'username': {'type': 'string'}}, 'required': ['url', 'type'], 'type': 'object'}#
- class flexget.components.managed_lists.lists.ombi_list.OmbiMovie(request, data)[source]#
Bases:
OmbiEntryManage a Movie entry in Ombi.
- Parameters:
request (OmbiRequest)
- classmethod from_id(request, entry)[source]#
Create a Ombi Entry from an OMBI ID.
- Parameters:
request (OmbiRequest)
entry (Entry)
- classmethod from_imdb_id(request, imdb_id)[source]#
Create a Ombi Entry from an IMDB ID.
- Parameters:
request (OmbiRequest)
imdb_id (str)
- classmethod from_tmdb_id(request, tmdb_id)[source]#
Create a Ombi Entry from an TMDB ID.
- Parameters:
request (OmbiRequest)
tmdb_id (str)
- entry_type = 'movie'#
- class flexget.components.managed_lists.lists.ombi_list.OmbiRequest(config)[source]#
Bases:
object- Parameters:
config (Config)
- class flexget.components.managed_lists.lists.ombi_list.OmbiSet(config)[source]#
Bases:
MutableSetThe schema for the Ombi managed list.
- discard(entry)[source]#
Remove an entry from OMBI by marking it as available.
- Args:
entry (Entry): An item from a task.
- Parameters:
entry (Entry)
- get_requested_items()[source]#
Get a list of all the items that have been requested in Ombi.
- Raises:
plugin.PluginError: If an error occurs while retrieving the list of items.
- Returns:
dict[str, Any]: A dictionary containing all the items that have been requested in Ombi.
- ombi_auth()[source]#
Return a dictionary that contains authrization headers for the OMBI API.
- Raises:
plugin.PluginError: If the api_key or username/password are not defined.
- Returns:
dict[str, str]: Authorization headers.
- _abc_impl = <_abc._abc_data object>#
- property immutable#
- property online#
Set the online status of the plugin.
Online plugin should be treated differently in certain situations, like test mode
- schema = {'additionalProperties': False, 'oneOf': [{'required': ['username', 'password']}, {'required': ['api_key']}], 'properties': {'api_key': {'type': 'string'}, 'hide_available': {'default': True, 'type': 'boolean'}, 'include_ep_title': {'default': False, 'type': 'boolean'}, 'include_year': {'default': False, 'type': 'boolean'}, 'on_remove': {'default': 'deleted', 'enum': ['unavailable', 'denied', 'deleted'], 'type': 'string'}, 'password': {'type': 'string'}, 'status': {'default': 'approved', 'enum': ['approved', 'requested', 'denied', 'all'], 'type': 'string'}, 'type': {'enum': ['shows', 'seasons', 'episodes', 'movies'], 'type': 'string'}, 'url': {'type': 'string'}, 'username': {'type': 'string'}}, 'required': ['url', 'type'], 'type': 'object'}#
- supported_ids = ['ombi_id', 'tmdb_id', 'imdb_id']#
- class flexget.components.managed_lists.lists.ombi_list.OmbiTv(request, data, sub_type)[source]#
Bases:
OmbiEntryManage a TV entry in Ombi.
- Parameters:
request (OmbiRequest)
sub_type (Literal['show', 'season', 'episode'])
- classmethod from_tmdb_id(request, entry, sub_type)[source]#
Create a Ombi Entry from an TVDB ID.
- Parameters:
request (OmbiRequest)
entry (Entry)
sub_type (Literal['show', 'season', 'episode'])
- entry_type = 'tv'#
- flexget.components.managed_lists.lists.ombi_list.filter_ombi_items(items, config)[source]#
Filter Ombi items based on the config.
- Arguments:
items: The Items returned from the Ombi API. config: The config for the Ombi managed list.
- Raises:
plugin.PluginError: If an unknown status is specified in the config.
- Returns:
list[dict[str, Any]] – The filtered list of items.