Pages

Contents

Pages#

Models#

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

Bases: StrEnum

Member Type:

str

Valid values are as follows:

CATEGORY_PERSONALISED_RECOMMENDATIONS = <PlaceholderType.CATEGORY_PERSONALISED_RECOMMENDATIONS: 'categoryPersonalisedRecommendations'>#
class nrk_psapi.models.pages.Placeholder[source]#

Bases: BaseDataClassORJSONMixin

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

type: PlaceholderType | 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

EpisodeLinks(program: ‘Link’, series: ‘Link’, playback_metadata: ‘Link’, playback_manifest: ‘Link’, favourite: ‘Link’, share: ‘Link’)

program: Link#
series: Link#
playback_metadata: Link#
playback_manifest: Link#
favourite: Link#
share: Link#

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

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

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

Bases: BaseDataClassORJSONMixin

PodcastEpisodeLinks(podcast_episode: ‘Link’, podcast: ‘Link’, audio_download: ‘Link’, share: ‘Link’, playback_metadata: ‘Link’, playback_manifest: ‘Link’, favourite: ‘TemplatedLink | None’ = None)

podcast_episode: Link#
podcast: Link#
audio_download: Link#
share: Link#
playback_metadata: Link#
playback_manifest: Link#
favourite: TemplatedLink | None = None#

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(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None)

id: str#
image: WebImage#
backdrop_image: WebImage | None = None#
title: str | None = None#
tagline: str | None = None#
accessibility_label: str | None = None#
class nrk_psapi.models.pages.Section[source]#

Bases: BaseDataClassORJSONMixin

Section(id: ‘str’, e_commerce: ‘SectionEcommerce | None’ = None)

id: str#
e_commerce: SectionEcommerce | None = None#
class nrk_psapi.models.pages.PlaceholderSection[source]#

Bases: Section

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

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

Bases: BaseDataClassORJSONMixin

PluggedEpisode(program_id: ‘str’, series_id: ‘str’, series_title: ‘str’, episode_title: ‘str’, duration: ‘timedelta’, _links: ‘EpisodeLinks’)

program_id: str#
series_id: str#
series_title: str#
episode_title: str#
duration: timedelta#
class nrk_psapi.models.pages.PluggedSeries[source]#

Bases: BaseDataClassORJSONMixin

PluggedSeries(series_id: ‘str’, series_title: ‘str’, _links: ‘SeriesLinks’, image: ‘WebImage | None’ = None, number_of_episodes: ‘int | None’ = None)

series_id: str#
series_title: str#
image: WebImage | None = None#
number_of_episodes: int | None = None#
class nrk_psapi.models.pages.PluggedChannel[source]#

Bases: BaseDataClassORJSONMixin

PluggedChannel(channel_id: ‘str’, channel_title: ‘str’, show_live_badge: ‘bool’, _links: ‘ChannelLinks’)

channel_id: str#
channel_title: str#
show_live_badge: bool#
class nrk_psapi.models.pages.PluggedStandaloneProgram[source]#

Bases: BaseDataClassORJSONMixin

PluggedStandaloneProgram(program_id: ‘str’, program_title: ‘str’, duration: ‘timedelta’, _links: ‘StandaloneProgramLinks’)

program_id: str#
program_title: str#
duration: timedelta#
class nrk_psapi.models.pages.PluggedPodcast[source]#

Bases: BaseDataClassORJSONMixin

PluggedPodcast(podcast_id: ‘str’, podcast_title: ‘str’, _links: ‘PodcastLinks’, image_url: ‘str | None’ = None, number_of_episodes: ‘int | None’ = None)

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

Bases: BaseDataClassORJSONMixin

PluggedPodcastEpisode(episode_id: ‘str’, podcast_id: ‘str’, podcast_title: ‘str’, podcast_episode_title: ‘str’, duration: ‘timedelta’, image_url: ‘str’, _links: ‘PodcastEpisodeLinks’, podcast: ‘PluggedPodcast | None’ = None)

episode_id: str#
podcast_id: str#
podcast_title: str#
podcast_episode_title: str#
duration: timedelta#
image_url: str#
podcast: PluggedPodcast | None = None#
class nrk_psapi.models.pages.PluggedPodcastSeason[source]#

Bases: BaseDataClassORJSONMixin

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

podcast_id: str#
season_id: str#
season_number: int#
number_of_episodes: int#
image_url: str#
podcast_title: str#
podcast_season_title: str#
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(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, channel: ‘PluggedChannel’)

type = 'channel'#
channel: PluggedChannel#
accessibility_label: str | None = None#
backdrop_image: WebImage | None = None#
tagline: str | None = None#
title: str | None = None#
id: str#
image: WebImage#
class nrk_psapi.models.pages.SeriesPlug[source]#

Bases: Plug

SeriesPlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, series: ‘PluggedSeries’)

type = 'series'#
series: PluggedSeries#
accessibility_label: str | None = None#
backdrop_image: WebImage | None = None#
tagline: str | None = None#
title: str | None = None#
id: str#
image: WebImage#
class nrk_psapi.models.pages.EpisodePlug[source]#

Bases: Plug

EpisodePlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, episode: ‘PluggedEpisode’)

type = 'episode'#
episode: PluggedEpisode#
accessibility_label: str | None = None#
backdrop_image: WebImage | None = None#
tagline: str | None = None#
title: str | None = None#
id: str#
image: WebImage#
class nrk_psapi.models.pages.StandaloneProgramPlug[source]#

Bases: Plug

StandaloneProgramPlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, standalone_program: ‘PluggedStandaloneProgram’)

type = 'standaloneProgram'#
standalone_program: PluggedStandaloneProgram#
accessibility_label: str | None = None#
backdrop_image: WebImage | None = None#
tagline: str | None = None#
title: str | None = None#
id: str#
image: WebImage#
class nrk_psapi.models.pages.PodcastPlug[source]#

Bases: Plug

PodcastPlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, podcast: ‘PluggedPodcast’)

type = 'podcast'#
podcast: PluggedPodcast#
accessibility_label: str | None = None#
backdrop_image: WebImage | None = None#
tagline: str | None = None#
title: str | None = None#
id: str#
image: WebImage#
class nrk_psapi.models.pages.PodcastEpisodePlug[source]#

Bases: Plug

PodcastEpisodePlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, podcast_episode: ‘PluggedPodcastEpisode’)

type = 'podcastEpisode'#
podcast_episode: PluggedPodcastEpisode#
accessibility_label: str | None = None#
backdrop_image: WebImage | None = None#
tagline: str | None = None#
title: str | None = None#
id: str#
image: WebImage#
class nrk_psapi.models.pages.PodcastSeasonPlug[source]#

Bases: Plug

PodcastSeasonPlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, podcast_season: ‘PluggedPodcastSeason’, description: ‘str | None’ = None)

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

Bases: Plug

LinkPlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, link: ‘LinkPlugInner’)

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

Bases: Plug

PagePlug(id: ‘str’, image: ‘WebImage’, backdrop_image: ‘WebImage | None’ = None, title: ‘str | None’ = None, tagline: ‘str | None’ = None, accessibility_label: ‘str | None’ = None, *, page: ‘PagePlugInner’, description: ‘str | None’ = None)

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

Bases: BaseDataClassORJSONMixin

Included(title: ‘str’, plugs: ‘list[Plug]’, count: ‘int’, display_contract: ‘DisplayContract | None’ = None, plug_size: ‘PlugSize | None’ = None)

title: str#
plugs: list[Plug]#
count: int#
display_contract: DisplayContract | None = None#
plug_size: PlugSize | None = None#
class nrk_psapi.models.pages.IncludedSection[source]#

Bases: Section

IncludedSection(id: ‘str’, e_commerce: ‘SectionEcommerce | None’ = None, *, included: ‘Included’)

type = 'included'#
included: Included#
e_commerce: SectionEcommerce | None = None#
id: str#
class nrk_psapi.models.pages.Page[source]#

Bases: BaseDataClassORJSONMixin

Page(id: ‘str’, title: ‘str’, published_time: ‘datetime’, sections: ‘list[Section]’, _links: ‘PageLinks’, page_version: ‘str | None’ = None, display_type: ‘DisplayType | None’ = None, image: ‘WebImage | None’ = None, image_square: ‘WebImage | None’ = None, buttons: ‘list[ButtonItem] | None’ = None, back_button: ‘ButtonItem | None’ = None)

id: str#
title: str#
published_time: datetime#
sections: list[Section]#
page_version: str | None = None#
display_type: DisplayType | None = None#
image: WebImage | None = None#
image_square: WebImage | None = None#
buttons: list[ButtonItem] | None = None#
back_button: ButtonItem | None = None#
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'>#
INLINE_HERO = <DisplayContract.INLINE_HERO: 'inlineHero'>#
LANDSCAPE = <DisplayContract.LANDSCAPE: 'landscape'>#
SIMPLE = <DisplayContract.SIMPLE: 'simple'>#
SQUARED = <DisplayContract.SQUARED: 'squared'>#
NYHETS_ATOM = <DisplayContract.NYHETS_ATOM: 'nyhetsAtom'>#
RADIO_MULTI_HERO = <DisplayContract.RADIO_MULTI_HERO: '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'>#