flexget.components.thetvdb.api_tvdb module#

class flexget.components.thetvdb.api_tvdb.TVDBEpisode(series_id, ep_id, language=None)[source]#

Bases: VersionedBase

to_dict()[source]#
_first_aired#
_image#
_sa_class_manager = {'_first_aired': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_image': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'absolute_number': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'director': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'episode_number': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'expired': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'first_aired': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'last_updated': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'overview': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'rating': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'season_number': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'series_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
absolute_number#
director#
episode_number#
expired#
first_aired#
id#
property image#
last_updated#
name#
overview#
rating#
season_number#
series_id#
class flexget.components.thetvdb.api_tvdb.TVDBGenre(**kwargs)[source]#

Bases: VersionedBase

_sa_class_manager = {'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
id#
property name#
class flexget.components.thetvdb.api_tvdb.TVDBRequest(username=None, account_id=None, api_key=None)[source]#

Bases: object

_request(method, endpoint, **params)[source]#
delete(endpoint, **params)[source]#
get(endpoint, **params)[source]#
get_auth_token(refresh=False)[source]#
post(endpoint, **params)[source]#
put(endpoint, **params)[source]#
API_KEY = '4D297D8CFDE0E105'#
BANNER_URL = 'http://thetvdb.com/banners/'#
BASE_URL = 'https://api.thetvdb.com/'#
class flexget.components.thetvdb.api_tvdb.TVDBSearchResult(search, series_id=None, series=None)[source]#

Bases: VersionedBase

_sa_class_manager = {'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'search': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'series': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'series_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
id#
search#
series#
series_id#
class flexget.components.thetvdb.api_tvdb.TVDBSeries(tvdb_id, language)[source]#

Bases: VersionedBase

get_actors()[source]#
get_posters()[source]#
to_dict()[source]#
_actors#
_aliases#
_banner#
_first_aired#
_genres#
_posters#
_sa_class_manager = {'_actors': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_aliases': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_banner': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_first_aired': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_genres': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_posters': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'actors_list': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'airs_dayofweek': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'airs_time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'aliases': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'content_rating': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'episodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'expired': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'first_aired': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'imdb_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'language': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'last_updated': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'network': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'overview': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'posters_list': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'rating': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'runtime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'search_strings': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'status': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'zap2it_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
property actors#
actors_list#
airs_dayofweek#
airs_time#
aliases#
property banner#
content_rating#
episodes#
expired#
first_aired#
genres = AmbiguousAssociationProxyInstance(AssociationProxy('_genres', 'name'))#
id#
imdb_id#
language#
last_updated#
name#
network#
overview#
property posters#
posters_list#
rating#
runtime#
status#
zap2it_id#
class flexget.components.thetvdb.api_tvdb.TVDBSeriesSearchResult(series, lookup_term=None)[source]#

Bases: VersionedBase

Table that holds a single result that results from the /search/series endpoint, which return a series with a minimal set of parameters.

to_dict()[source]#
_aliases#
_banner#
_first_aired#
_sa_class_manager = {'_aliases': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_banner': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_first_aired': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'aliases': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'created_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'first_aired': <sqlalchemy.orm.attributes.create_proxied_attribute.<locals>.Proxy object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'lookup_term': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'network': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'overview': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'search_name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'status': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
aliases#
property banner#
created_at#
property expired#
first_aired#
id#
lookup_term#
name#
network#
overview#
search_name#
status#
class flexget.components.thetvdb.api_tvdb.TVDBTokens(**kwargs)[source]#

Bases: VersionedBase

has_expired()[source]#
_sa_class_manager = {'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'refreshed': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'token': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}#
id#
name#
refreshed#
token#
flexget.components.thetvdb.api_tvdb._update_search_strings(series, session, search=None)[source]#
flexget.components.thetvdb.api_tvdb.find_series_id(name, language=None)[source]#

Look up the tvdb id for a series.

flexget.components.thetvdb.api_tvdb.mark_expired(session)[source]#

Mark series and episodes that have expired since we cached them.