1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-27 13:44:14 +01:00
Go to file
Olof Johansson 0e4fc4899c utils.parser: Allow direct access to argparse object before use
The svtplay_dl.util.parser.parser() function builds an argparse object
and applies it to sys.argv. This change splits this to two functions: a
gen_parser() that generates the argparse object and the parser()
function that still implements the old behavior (by itself calling
gen_parser()).

By being able to intercept the generated argparse object before it has
consumed the command line arguments, we can do things like generating
manpages directly from the argument definitions (kudos to the
argparse-manpage project). Such a tool can either be integrated in the
release process of svtplay-dl (affecting the set of dependencies for
everybody), or integrated as part of the distribution building process
(limiting the dependency to opt-in usage from distributions --- or
opening up for other solutions). This change will allow for either, but
does not introduce any new dependencies.

Whereas svtplay-dl supplies its version number as input to the argparse
generation, the argparse-manpage tool requires the function to be
callable without arguments; hence the "unknown" default value for the
version parameter to gen_parser(). It is overriden when used by
svtplay-dl and does not end up in the manpage when used with
argparse-manpage.

This change is backwards compatible; the interface or behavior of
parser() does not change.
2020-10-12 15:03:20 +02:00
.github Fix cache after github actions changes 2020-10-10 15:18:26 +02:00
bin pre-commit: black fixes 2019-09-06 22:09:07 +02:00
dockerfile pre-commit: black fixes 2019-09-06 22:09:07 +02:00
docs Move the docker readme to a new dir 2019-01-04 23:43:49 +01:00
lib utils.parser: Allow direct access to argparse object before use 2020-10-12 15:03:20 +02:00
scripts cibuild: glob is only one argument 2020-09-20 10:16:15 +02:00
.coveragerc Add support for pytest 2019-09-06 22:09:07 +02:00
.gitattributes better why to get the version 2018-07-10 21:32:54 +02:00
.gitignore gitignore: add some media file extensions to the list 2018-11-13 19:52:52 +01:00
.pre-commit-config.yaml pre-commit fixes 2020-09-06 14:19:24 +02:00
LICENSE Update MIT license 2015-07-29 09:39:38 +02:00
Makefile makefile: add install method 2018-07-16 21:24:31 +02:00
MANIFEST.in Forgot to change from README.rst to README.md in MANIFEST.in 2019-01-04 23:43:49 +01:00
pyproject.toml Add pyproject.toml 2019-09-06 22:59:51 +02:00
README.md readme: add build status from gitlab actions 2020-09-20 13:59:39 +02:00
requirements-dev.txt requirements-dev: add twine as dependency. 2020-10-10 12:59:59 +02:00
requirements.txt Remove dateutil and make a workaround for <py37 2019-09-08 01:32:57 +02:00
setup.cfg Add some more warnings to ignore 2019-07-13 14:31:23 +02:00
setup.py setup: force reading readme encoding to utf-8 2020-09-20 17:29:28 +02:00
setversion.py pre-commit: black fixes 2019-09-06 22:09:07 +02:00
svtplay-dl.pod Fix list item 2017-05-08 00:18:00 +02:00
tox.ini Add pre-commit and pytest to the ci build step. 2019-09-06 22:09:07 +02:00
versioneer.py pre-commit: use a newer pyupgrade version 2020-05-03 11:35:03 +02:00

svtplay-dl

Build Status Actions

Installation

MacOS

If you have Homebrew on your machine you can install by running:

    brew install svtplay-dl

You will need to run brew install ffmpeg or brew install libav afterwards, if you don't already have one of these packages.

Debian and Ubuntu

svtplay-dl is available in Debian strech and later and on Ubuntu 16.04 and later, which means you can install it straight away using apt. The version in their repo is often old and thus we strongly recommend using our own apt repo, which always include the latest version. The svtplay-dl repo for Debian / Ubuntu can be found at apt.svtplay-dl.se.

Add the release PGP keys:
    curl -s https://svtplay-dl.se/release-key.txt | sudo apt-key add -
Add the "release" channel to your APT sources:
    echo "deb https://apt.svtplay-dl.se/ svtplay-dl release" | sudo tee /etc/apt/sources.list.d/svtplay-dl.list
Update and install svtplay-dl:
    sudo apt-get update

    sudo apt-get install svtplay-dl

Solus

svtplay-dl is avaliable in the Solus repository and can be installed by simply running:

sudo eopkg it svtplay-dl

Windows

You can download the Windows binaries from svtplay-dl.se

If you want to build your own Windows binaries:

  1. Install cx_freeze
  2. Follow the steps listed under From source
  3. cd path\to\svtplay-dl && mkdir build
  4. pip install -e .
  5. python setversion.py # this will change the version string to a more useful one
  6. python %PYTHON%\\Scripts\\cxfreeze --include-modules=cffi,queue,idna.idnadata --target-dir=build bin/svtplay-dl
  7. Find binary in build folder. you need svtplay-dl.exe and pythonXX.dll from that folder to run svtplay-dl.exe

Other systems with python

    pip3 install svtplay-dl

Any UNIX (Linux, BSD, macOS, etc.)

Download with curl
sudo curl -L https://svtplay-dl.se/download/latest/svtplay-dl -o /usr/local/bin/svtplay-dl
Make it executable
sudo chmod a+rx /usr/local/bin/svtplay-dl

From source

If packaging isnt available for your operating system, or you want to use a non-released version, youll want to install from source. Use git to download the sources:

    git clone https://github.com/spaam/svtplay-dl

svtplay-dl requires the following additional tools and libraries. They are usually available from your distributions package repositories. If you dont have them, some features will not be working.

To install it, run:
    sudo python3 setup.py install

After install

    svtplay-dl [options] URL

If you encounter any bugs or problems, dont hesitate to open an issue on github. Or why not join the #svtplay-dl IRC channel on Freenode?

Supported services

This script works for:

  • aftonbladet.se
  • bambuser.com
  • comedycentral.se
  • di.se
  • dn.se
  • dplay.se
  • dr.dk
  • efn.se
  • expressen.se
  • hbo.com
  • kanal9play.se
  • nickelodeon.nl
  • nickelodeon.no
  • nickelodeon.se
  • nrk.no
  • oppetarkiv.se
  • ruv.is
  • svd.se
  • sverigesradio.se
  • svtplay.se
  • viafree.se (former tv3play.se, tv6play.se, tv8play.se, tv10play.se)
  • viafree.dk (former tv3play.dk)
  • viafree.no (former tv3play.no, viasat4play.no)
  • tv3play.ee
  • tv3play.lt
  • tv3play.lv
  • tv4.se
  • tv4play.se
  • twitch.tv
  • ur.se
  • urplay.se
  • vg.no
  • viagame.com

License

This project is licensed under The MIT License (MIT) Homepage: svtplay-dl.se