nrk_api
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
Search
> nrkdl -s "brannma" 2: Brannmann i seks knop 1: Brannmann 0: Brannmann Sam Select a number or use slice notation 0 ..... ..... 4: Brannmann Sam S03E29 3: Brannmann Sam S03E30 2: Brannmann Sam S03E32 1: Brannmann Sam S03E33 0: Brannmann Sam S05E25 Select a number or use slice notation :: Downloads starting soon.. 23 downloads to go 100%|############################################################################| 23/23 [03:57<00:00, 79.09s/it]
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
Use the search there is loads of nrk options.
Metadata
Release files for nrk-api 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nrk_api-0.0.5.tar.gz | 132.6 kB | Without provenance | Details for nrk_api-0.0.5.tar.gz |
Release files / nrk_api-0.0.5.tar.gz
| Download URL | nrk_api-0.0.5.tar.gz |
|---|---|
| Size | 132.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4d166f55b53bf0713eaaf44aa12d4bd5b4cb4f6a699d86ed3822958fbcfde10e
|
|
BLAKE2b-256 checksum How to use checksums |
a1d7ad61f901842b9dd942a2b0b49cdf30ecff2e716808dd78586af1f977d58b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for nrk-api 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.