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 hashes)

Uploaded Source

Supported by

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