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.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
nrk_api-0.0.5.tar.gz (132.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page