Playback

Contents

Playback#

Models#

class nrk_psapi.models.playback.Live[source]#

Bases: BaseDataClassORJSONMixin

Live(is_ongoing: ‘bool’, type: ‘str’, transmission_interval: ‘dict | None’ = None)

is_ongoing: bool#
type: str#
transmission_interval: dict | None = None#
class nrk_psapi.models.playback.AvailabilityDetailed[source]#

Bases: BaseDataClassORJSONMixin

Represents the availability information.

information: str#
is_geo_blocked: bool#
external_embedding_allowed: bool#
on_demand: OnDemand | None = None#
live: Live | None = None#

Bases: BaseDataClassORJSONMixin

Represents the _links object in the API response.

self: Link#
metadata: Link#
class nrk_psapi.models.playback.OnDemand[source]#

Bases: BaseDataClassORJSONMixin

Represents the onDemand object in the availability section.

_from: datetime#
to: datetime#
has_rights_now: bool#
class nrk_psapi.models.playback.GaStatistics[source]#

Bases: BaseDataClassORJSONMixin

Represents Google Analytics dimension data.

dimension1: str#
dimension2: str#
dimension3: str#
dimension4: str#
dimension5: str#
dimension10: str#
dimension21: str#
dimension22: str#
dimension23: str#
dimension25: str#
dimension26: str#
dimension29: str#
dimension36: str#
class nrk_psapi.models.playback.LunaConfig[source]#

Bases: BaseDataClassORJSONMixin

Represents the Luna configuration.

beacon: str#
class nrk_psapi.models.playback.LunaData[source]#

Bases: BaseDataClassORJSONMixin

Represents the Luna data.

title: str#
device: str#
player_id: str#
delivery_type: str#
player_info: str#
cdn_name: str#
class nrk_psapi.models.playback.Luna[source]#

Bases: BaseDataClassORJSONMixin

Represents the Luna statistics.

config: LunaConfig#
data: LunaData#
class nrk_psapi.models.playback.QualityOfExperience[source]#

Bases: BaseDataClassORJSONMixin

Represents quality of experience statistics.

client_name: str#
cdn_name: str#
streaming_format: str#
segment_length: str#
asset_type: str#
correlation_id: str#
class nrk_psapi.models.playback.Statistics[source]#

Bases: BaseDataClassORJSONMixin

Represents various statistics for the podcast.

scores: dict | None = None#
ga: GaStatistics | None = None#
conviva: dict | None = None#
luna: Luna | None = None#
quality_of_experience: QualityOfExperience | None = None#
snowplow: dict[str, str]#
class nrk_psapi.models.playback.Asset[source]#

Bases: BaseDataClassORJSONMixin

Represents an asset in the playable content.

url: str#
format: str#
mime_type: str#
encrypted: bool#
class nrk_psapi.models.playback.Playable[source]#

Bases: BaseDataClassORJSONMixin

Represents the playable content information.

end_sequence_start_time: str | None = None#
duration: timedelta | None = None#
assets: list[Asset] | None = None#
live_buffer: dict | None = None#
subtitles: list | None = None#
thumbnails: list | None = None#
resolve: str | None = None#
class nrk_psapi.models.playback.NonPlayable[source]#

Bases: BaseDataClassORJSONMixin

Represents the non-playable content information.

reason: str#
message_type: str | None = None#
end_user_message: str | None = None#
end_user_message_supplement: str | None = None#
user_action: str | None = None#
help_url: str | None = None#
available_abroad_url: str | None = None#
class nrk_psapi.models.playback.SkipDialogInfo[source]#

Bases: BaseDataClassORJSONMixin

SkipDialogInfo(start_intro_in_seconds: ‘float’, end_intro_in_seconds: ‘float’, start_credits_in_seconds: ‘float’, start_intro: ‘str’, end_intro: ‘str’, start_credits: ‘str’)

start_intro_in_seconds: float#
end_intro_in_seconds: float#
start_credits_in_seconds: float#
start_intro: str#
end_intro: str#
start_credits: str#
class nrk_psapi.models.playback.PodcastManifest[source]#

Bases: BaseDataClassORJSONMixin

Represents the main structure of the podcast manifest.

id: str#
playability: Playability#
streaming_mode: PlayableStreamingMode#
availability: AvailabilityDetailed#
statistics: Statistics#
source_medium: PlayableSourceMedium#
playable: Playable | None = None#
non_playable: NonPlayable | None = None#
display_aspect_ratio: Optional[Literal['16:9', '4:3']] = None#
skip_dialog_info: SkipDialogInfo | None = None#

Enums#

enum nrk_psapi.models.playback.PlayableSourceMedium(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

AUDIO = <PlayableSourceMedium.AUDIO: 'audio'>#
VIDEO = <PlayableSourceMedium.VIDEO: 'video'>#
enum nrk_psapi.models.playback.PlayableStreamingMode(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

LIVE = <PlayableStreamingMode.LIVE: 'live'>#
ONDEMAND = <PlayableStreamingMode.ONDEMAND: 'onDemand'>#
enum nrk_psapi.models.playback.Playability(value)[source]#

Bases: StrEnum

Member Type:

str

Valid values are as follows:

PLAYABLE = <Playability.PLAYABLE: 'playable'>#
NON_PLAYABLE = <Playability.NON_PLAYABLE: 'nonPlayable'>#