Pages

Contents

Pages#

Models#

class nrk_psapi.models.pages.Placeholder[source]#

Bases: BaseDataClassORJSONMixin

Placeholder(type: ‘str | None’ = None, title: ‘str | None’ = None)

type: str | None = None#
title: str | None = None#
class nrk_psapi.models.pages.PageEcommerce[source]#

Bases: BaseDataClassORJSONMixin

PageEcommerce(brand: ‘str’, tracking_exempt: ‘bool’)

brand: str#
tracking_exempt: bool#
class nrk_psapi.models.pages.PlugEcommerce[source]#

Bases: BaseDataClassORJSONMixin

PlugEcommerce(id: ‘str’, name: ‘str’, position: ‘int’)

id: str#
name: str#
position: int#
class nrk_psapi.models.pages.PlugAnalytics[source]#

Bases: BaseDataClassORJSONMixin

PlugAnalytics(content_id: ‘str’, content_source: ‘str’, title: ‘str | None’ = None)

content_id: str#
content_source: str#
title: str | None = None#
class nrk_psapi.models.pages.ProductCustomDimensions[source]#

Bases: BaseDataClassORJSONMixin

ProductCustomDimensions(dimension37: ‘str’, dimension38: ‘str | None’ = None, dimension39: ‘str | None’ = None)

dimension37: str#
dimension38: str | None = None#
dimension39: str | None = None#

Bases: BaseDataClassORJSONMixin

TemplatedLink(href: ‘str’, templated: ‘Literal[True] | None’ = None)

href: str#
templated: Optional[Literal[True]] = None#
class nrk_psapi.models.pages.ButtonItem[source]#

Bases: BaseDataClassORJSONMixin

ButtonItem(title: ‘str’, page_id: ‘str’, url: ‘str’, page_type: ‘PageTypeEnum’)

title: str#
page_id: str#
url: str#
page_type: PageTypeEnum#
class nrk_psapi.models.pages.SectionEcommerce[source]#

Bases: BaseDataClassORJSONMixin

SectionEcommerce(list: ‘str’, variant: ‘str’, category: ‘str’, product_custom_dimensions: ‘ProductCustomDimensions’)

list: str#
variant: str#
category: str#
product_custom_dimensions: ProductCustomDimensions#

Bases: BaseDataClassORJSONMixin

StandaloneProgramLinks(program: ‘Link’, playback_metadata: ‘Link’, playback_manifest: ‘Link’, share: ‘Link’)

program: Link#
playback_metadata: Link#
playback_manifest: Link#
share: Link#

Bases: BaseDataClassORJSONMixin

PageListItemLinks(self: ‘Link’)

self: Link#

Bases: BaseDataClassORJSONMixin

PageLinks(self: ‘Link’)

self: Link#

Bases: BaseDataClassORJSONMixin

SeriesLinks(series: ‘Link’, share: ‘Link’, favourite: ‘TemplatedLink | None’ = None)

series: Link#
share: Link#
favourite: TemplatedLink | None = None#

Bases: BaseDataClassORJSONMixin

ChannelLinks(playback_metadata: ‘Link’, playback_manifest: ‘Link’, share: ‘Link’)

playback_metadata: Link#
playback_manifest: Link#
share: Link#

Bases: BaseDataClassORJSONMixin

ChannelPlugLinks(channel: ‘str’)

channel: str#

Bases: BaseDataClassORJSONMixin

SeriesPlugLinks(series: ‘str’)

series: str#

Bases: BaseDataClassORJSONMixin

PodcastPlugLinks(podcast: ‘str’)

podcast: str#

Bases: BaseDataClassORJSONMixin

PodcastEpisodePlugLinks(podcast_episode: ‘str’, podcast: ‘str’, audio_download: ‘str’)

podcast_episode: str#
podcast: str#
audio_download: str#

Bases: BaseDataClassORJSONMixin

EpisodePlugLinks(episode: ‘str’, mediaelement: ‘str’, series: ‘str’, season: ‘str’)

episode: str#
mediaelement: str#
series: str#
season: str#

Bases: BaseDataClassORJSONMixin

StandaloneProgramPlugLinks(program: ‘str’, mediaelement: ‘str’)

program: str#
mediaelement: str#

Bases: BaseDataClassORJSONMixin

PodcastSeasonLinks(podcast_season: ‘Link’, podcast: ‘Link’, share: ‘Link’, favourite: ‘TemplatedLink | None’ = None)

podcast_season: Link#
podcast: Link#
share: Link#
favourite: TemplatedLink | None = None#

Bases: BaseDataClassORJSONMixin

LinkPlugLinks(external_url: ‘Link’)

external_url: Link#

Bases: BaseDataClassORJSONMixin

PagePlugLinks(page_url: ‘Link’)

page_url: Link#

Bases: BaseDataClassORJSONMixin

Links(self: ‘Link’)

self: Link#
class nrk_psapi.models.pages.Plug[source]#

Bases: BaseDataClassORJSONMixin

Plug()

class nrk_psapi.models.pages.Section[source]#

Bases: BaseDataClassORJSONMixin

Section()

class nrk_psapi.models.pages.PlaceholderSection[source]#

Bases: Section

PlaceholderSection(placeholder: ‘Placeholder’, id: ‘str | None’ = None, e_commerce: ‘SectionEcommerce | None’ = None)

type = 'placeholder'#
placeholder: Placeholder#
id: str | None = None#
e_commerce: SectionEcommerce | None = None#
class nrk_psapi.models.pages.PluggedEpisode[source]#

Bases: BaseDataClassORJSONMixin

PluggedEpisode(titles: ‘Titles’, image: ‘WebImage’, duration: ‘timedelta’, series: ‘PluggedSeries | None’ = None)

title: str#
titles: Titles#
image: WebImage#
duration: timedelta#
series: PluggedSeries | None = None#
class nrk_psapi.models.pages.PluggedSeries[source]#

Bases: BaseDataClassORJSONMixin

PluggedSeries(titles: ‘Titles’, image: ‘WebImage | None’ = None, number_of_episodes: ‘int | None’ = None)

title: str#
titles: Titles#
image: WebImage | None = None#
number_of_episodes: int | None = None#
class nrk_psapi.models.pages.PluggedChannel[source]#

Bases: BaseDataClassORJSONMixin

PluggedChannel(titles: ‘Titles’, image: ‘WebImage | None’ = None)

title: str#
titles: Titles#
image: WebImage | None = None#
class nrk_psapi.models.pages.PluggedStandaloneProgram[source]#

Bases: BaseDataClassORJSONMixin

PluggedStandaloneProgram(titles: ‘Titles’, image: ‘WebImage’, duration: ‘timedelta’)

title: str#
titles: Titles#
image: WebImage#
duration: timedelta#
class nrk_psapi.models.pages.PluggedPodcast[source]#

Bases: BaseDataClassORJSONMixin

PluggedPodcast(titles: ‘Titles’, image_url: ‘str | None’ = None, number_of_episodes: ‘int | None’ = None)

podcast_title: str#
titles: Titles#
image_url: str | None = None#
number_of_episodes: int | None = None#
class nrk_psapi.models.pages.PluggedPodcastEpisode[source]#

Bases: BaseDataClassORJSONMixin

PluggedPodcastEpisode(titles: ‘Titles’, duration: ‘timedelta’, image_url: ‘str’, podcast: ‘PluggedPodcast’)

title: str#
titles: Titles#
duration: timedelta#
image_url: str#
podcast: PluggedPodcast#
podcast_title: str#
class nrk_psapi.models.pages.PluggedPodcastSeason[source]#

Bases: BaseDataClassORJSONMixin

PluggedPodcastSeason(_links: ‘PodcastSeasonLinks | None’ = None, podcast_id: ‘str | None’ = None, season_id: ‘str | None’ = None, season_number: ‘int | None’ = None, number_of_episodes: ‘int | None’ = None, image_url: ‘str | None’ = None, podcast_title: ‘str | None’ = None, podcast_season_title: ‘str | None’ = None)

podcast_id: str | None = None#
season_id: str | None = None#
season_number: int | None = None#
number_of_episodes: int | None = None#
image_url: str | None = None#
podcast_title: str | None = None#
podcast_season_title: str | None = None#
class nrk_psapi.models.pages.LinkPlugInner[source]#

Bases: BaseDataClassORJSONMixin

LinkPlugInner(_links: ‘LinkPlugLinks’)

class nrk_psapi.models.pages.PagePlugInner[source]#

Bases: BaseDataClassORJSONMixin

PagePlugInner(_links: ‘PagePlugLinks’, page_id: ‘str’)

page_id: str#
class nrk_psapi.models.pages.PageListItem[source]#

Bases: BaseDataClassORJSONMixin

PageListItem(_links: ‘PageListItemLinks’, title: ‘str’, id: ‘str | None’ = None, image: ‘WebImage | None’ = None, image_square: ‘WebImage | None’ = None)

title: str#
id: str | None = None#
image: WebImage | None = None#
image_square: WebImage | None = None#
class nrk_psapi.models.pages.Pages[source]#

Bases: BaseDataClassORJSONMixin

Pages(_links: ‘Links’, pages: ‘list[PageListItem]’)

pages: list[PageListItem]#
class nrk_psapi.models.pages.ChannelPlug[source]#

Bases: Plug

ChannelPlug(_links: ‘ChannelPlugLinks’, channel: ‘PluggedChannel’)

id: str#
type = 'channel'#
channel: PluggedChannel#
class nrk_psapi.models.pages.SeriesPlug[source]#

Bases: Plug

SeriesPlug(_links: ‘SeriesPlugLinks’, series: ‘PluggedSeries’)

id: str#
title: str#
type = 'series'#
series: PluggedSeries#
class nrk_psapi.models.pages.EpisodePlug[source]#

Bases: Plug

EpisodePlug(_links: ‘EpisodePlugLinks’, episode: ‘PluggedEpisode’)

id: str#
series_id: str#
title: str#
type = 'episode'#
episode: PluggedEpisode#
class nrk_psapi.models.pages.StandaloneProgramPlug[source]#

Bases: Plug

StandaloneProgramPlug(_links: ‘StandaloneProgramPlugLinks’, program: ‘PluggedStandaloneProgram’)

id: str#
type = 'standaloneProgram'#
program: PluggedStandaloneProgram#
class nrk_psapi.models.pages.PodcastPlug[source]#

Bases: Plug

PodcastPlug(podcast: ‘PluggedPodcast’, _links: ‘PodcastPlugLinks’)

id: str#
title: str#
tagline: str#
type = 'podcast'#
podcast: PluggedPodcast#
class nrk_psapi.models.pages.PodcastEpisodePlug[source]#

Bases: Plug

PodcastEpisodePlug(podcast_episode: ‘PluggedPodcastEpisode’, _links: ‘PodcastEpisodePlugLinks’)

id: str#
podcast_id: str#
type = 'podcastEpisode'#
podcast_episode: PluggedPodcastEpisode#
class nrk_psapi.models.pages.PodcastSeasonPlug[source]#

Bases: Plug

PodcastSeasonPlug(id: ‘str’, podcast_season: ‘PluggedPodcastSeason’, image: ‘WebImage | None’ = None)

type = 'podcastSeason'#
id: str#
podcast_season: PluggedPodcastSeason#
image: WebImage | None = None#
class nrk_psapi.models.pages.LinkPlug[source]#

Bases: Plug

LinkPlug(link: ‘LinkPlugInner’, id: ‘str | None’ = None, image: ‘WebImage | None’ = None)

type = 'link'#
id: str | None = None#
image: WebImage | None = None#
class nrk_psapi.models.pages.PagePlug[source]#

Bases: Plug

PagePlug(page: ‘PagePlugInner’, id: ‘str | None’ = None, image: ‘WebImage | None’ = None)

type = 'page'#
page: PagePlugInner#
id: str | None = None#
image: WebImage | None = None#
class nrk_psapi.models.pages.Included[source]#

Bases: BaseDataClassORJSONMixin

Included(title: ‘str’, plugs: ‘list[Plug]’)

section_id: str#
title: str#
plugs: list[Plug]#
class nrk_psapi.models.pages.IncludedSection[source]#

Bases: Section

IncludedSection(included: ‘Included’)

type = 'included'#
included: Included#
class nrk_psapi.models.pages.Page[source]#

Bases: BaseDataClassORJSONMixin

Page(title: ‘str’, sections: ‘list[Section]’, _links: ‘PageLinks’)

id: str#
title: str#
sections: list[Section]#
class nrk_psapi.models.pages.CuratedPodcast[source]#

Bases: BaseDataClassORJSONMixin

CuratedPodcast(id: ‘str’, title: ‘str’, subtitle: ‘str’, image: ‘str’, number_of_episodes: ‘int’)

id: str#
title: str#
subtitle: str#
image: str#
number_of_episodes: int#
class nrk_psapi.models.pages.CuratedSection[source]#

Bases: BaseDataClassORJSONMixin

CuratedSection(id: ‘str’, title: ‘str’, podcasts: ‘list[CuratedPodcast]’)

id: str#
title: str#
podcasts: list[CuratedPodcast]#
class nrk_psapi.models.pages.Curated[source]#

Bases: BaseDataClassORJSONMixin

Curated(sections: ‘list[CuratedSection]’)

sections: list[CuratedSection]#
get_section_by_id(section_id)[source]#

Return the CuratedSection with the given id.

Return type:

CuratedSection | None

Parameters:

section_id (str)

Enums#

enum nrk_psapi.models.pages.DisplayType(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

DEFAULT = <DisplayType.DEFAULT: 'default'>#
GRID = <DisplayType.GRID: 'grid'>#
enum nrk_psapi.models.pages.DisplayContract(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

HERO = <DisplayContract.HERO: 'hero'>#
EDITORIAL = <DisplayContract.EDITORIAL: 'editorial'>#
INLINEHERO = <DisplayContract.INLINEHERO: 'inlineHero'>#
LANDSCAPE = <DisplayContract.LANDSCAPE: 'landscape'>#
SIMPLE = <DisplayContract.SIMPLE: 'simple'>#
SQUARED = <DisplayContract.SQUARED: 'squared'>#
NYHETSATOM = <DisplayContract.NYHETSATOM: 'nyhetsAtom'>#
RADIOMULTIHERO = <DisplayContract.RADIOMULTIHERO: 'radioMultiHero'>#
enum nrk_psapi.models.pages.PlugSize(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

SMALL = <PlugSize.SMALL: 'small'>#
MEDIUM = <PlugSize.MEDIUM: 'medium'>#
LARGE = <PlugSize.LARGE: 'large'>#
enum nrk_psapi.models.pages.PlugType(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

CHANNEL = <PlugType.CHANNEL: 'channel'>#
SERIES = <PlugType.SERIES: 'series'>#
EPISODE = <PlugType.EPISODE: 'episode'>#
STANDALONE_PROGRAM = <PlugType.STANDALONE_PROGRAM: 'standaloneProgram'>#
PODCAST = <PlugType.PODCAST: 'podcast'>#
PODCAST_EPISODE = <PlugType.PODCAST_EPISODE: 'podcastEpisode'>#
PODCAST_SEASON = <PlugType.PODCAST_SEASON: 'podcastSeason'>#
PAGE = <PlugType.PAGE: 'page'>#
enum nrk_psapi.models.pages.SectionType(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

INCLUDED = <SectionType.INCLUDED: 'included'>#
PLACEHOLDER = <SectionType.PLACEHOLDER: 'placeholder'>#
enum nrk_psapi.models.pages.PageTypeEnum(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

CATEGORY = <PageTypeEnum.CATEGORY: 'category'>#
SUBCATEGORY = <PageTypeEnum.SUBCATEGORY: 'subcategory'>#