Skip to main content

API for NRK, also includes a cli tool to download series or programs from NRK.

Project description

Travis Status Cov GitHub Releases PyPI version

API for NRK. (Norsk rikskringkasting) (Originally intended to support a CLI)

CLI Usage

In addition you will need `ffmpeg <https://ffmpeg.org/>`__, e.g. apt-get install ffmpeg (Ubuntu), brew install ffmpeg (macOs)

usage: nrkdl [-h] [-s keyword] [-d] [-b] [-sub] [-dr] [-sp SAVE_PATH] [-u URL]
         [-ea EXPIRES_AT]

CLI tool to download video from NRK.

optional arguments:
  -h, --help            show this help message and exit

  -s keyword, --search keyword
                        Search nrk for a show and download files

  -d, --description     Print verbose program description in console
  -b, --browse          Builds a menu where you can choose popular categories
  -sub, --subtitle      Download subtitle for this program too.
  -dr, --dry_run        Dry run, dont download any files.
  -sp SAVE_PATH, --save_path SAVE_PATH
                    Set a save path
  -u URL, --url URL     Use NRK URL as source. Comma separated e.g. "url1, url2"
  -ea EXPIRES_AT, --expires_at EXPIRES_AT
                    Get all files that looses access rights between two
                    dates or a date

URL

> nrkdl -u "http://tv.nrksuper.no/serie/bernt-og-erling-paa-nye-eventyr http://tv.nrksuper.no/serie/bertine-paa-besoek"
100%|####################################################################################| 2/2 [00:21<00:00, 13.63s/it]

Module

nrk = NRK()
s = await nrk.search("lille jack", strict=True)[0]
for e in await s.episodes():
    await e.download()

all_downloads = nrk.downloads()

# How many files are we gonna download
print(len(nrk.downloads()))
# Start downloading
await all_downloads.start()

See example and source file for more examples

Using Docker

To use nrkdl in a self-contained docker container, the provieded Dockerfile should get you going for a minimalistic install. If you want to combine this into a standalone command, something like this will be what you want.

#!/bin/sh

# export DATA="/mnt/multimedia/tmp" # Set if you don't want downloads to go to your ${HOME}/downloads
cd ${HOME}/Projects/programming/nrkdl  # Path where we can find a checkout of this repository
docker run -it -v ${DATA:-${HOME}/downloads}:/nrkdl/downloads $(docker build -q .) $*

# Open data-path if we are on osx
# [[ $? == 0 ]] && ( open ${DATA} )

You can now run it using example nrkdl -s "brannma".

Install

pip install nrk_api

Why should you use this library?

  • Easy to download entire shows

  • Browsing features

  • Fixes up tvshows fucked up naming so it can be parsed by kodi/plex/emby

  • Pretty fast, maxes my 500 mbit connection.

Similar tools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nrk_api-0.0.5.tar.gz (132.6 kB view details)

Uploaded Source

File details

Details for the file nrk_api-0.0.5.tar.gz.

File metadata

  • Download URL: nrk_api-0.0.5.tar.gz
  • Upload date:
  • Size: 132.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nrk_api-0.0.5.tar.gz
Algorithm Hash digest
SHA256 4d166f55b53bf0713eaaf44aa12d4bd5b4cb4f6a699d86ed3822958fbcfde10e
MD5 b034a2235137c6da540530b5b0d3855e
BLAKE2b-256 a1d7ad61f901842b9dd942a2b0b49cdf30ecff2e716808dd78586af1f977d58b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page