1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-27 21:54:17 +01:00
Commit Graph

210 Commits

Author SHA1 Message Date
Johan Andersson
559e950e68 getmedia: in some cases after_case is None
fixed: #974
2018-09-24 00:27:24 +02:00
Harald Gustafsson
fd0171d257 New option to only download videos that are published on or after a certain date. Relies on the new metadata extraction. When metadata is missing defaults to download. Useful for channels that don't publish episodes in order e.g. barnkanalen. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
073f26e618 Added broadcast/publishing datetime to metadata extraction and NFO file creation. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
4388e57112 Move the new metadata based thumbnail download into a reusable class instead of directly in Svtplay (requires that the service extract thumbnail urls during parsing of the video info into the self.output variable and the keys 'showthumbnailurl' and 'episodethumbnailurl'). Change OpenGraphThumbMixin to use the new download_thumbnails which makes correct filenames. Removed the old download_thumbnail. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
fc71a8d8e4 flake8 fixes. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
c15d7607eb Create NFO files with the extracted metadata. TVshows get a tvshow.nfo file as well. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
184f79a377 Option to automatically create a subfolder for tvshows, named as the show title. When not a series will use a subfolder titled movies. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
bf0e38a6f9 Working thumbnail download. Used by svtplay and barnkanalen, downloads both episode and show thumbnails. 2018-09-05 21:43:52 +02:00
Harald Gustafsson
71b40f975a Fix bug that get_thumbnail could never be called, due to overwrite of the stream variable. 2018-09-05 21:43:52 +02:00
Johan Andersson
a6e2bae955 utils.stream: remove some debug prints 2018-09-05 16:40:56 +02:00
Johan Andersson
d693e16596 get_multiple_media: this should be config 2018-07-16 21:21:18 +02:00
Johan Andersson
e377ee7386 output: --force should work on subtitles too 2018-07-05 01:26:43 +02:00
Johan Andersson
a0ab26a939 utilis.http: move get_full_url from hls to http 2018-07-05 01:26:43 +02:00
Johan Andersson
d61e5793e6 use which from stdlib instead our own version 2018-07-05 01:26:43 +02:00
Johan Andersson
8b54c05ca8 getmedia: use logging instead of log 2018-06-24 16:14:57 +02:00
Johan Andersson
138995925e _formatname: check if we have season in output 2018-06-03 18:03:09 +02:00
Johan Andersson
2a94b927d0 _formatname: in some cases we dont have the episode and only season.
we want to have like "name.s01.new.stuff.service.id.ext"
its better than "name.new.stuff.service.id.ext"
2018-06-03 15:48:48 +02:00
Johan Andersson
fa3b16bfcd get_one_media: use logging instead of log. 2018-06-03 12:49:49 +02:00
Johan Andersson
276b55dc8c get_one_media: we get the config nowadays 2018-06-03 00:12:15 +02:00
Johan Andersson
12021ee355 get_one_media: dont try to run exclude on exceptions 2018-05-31 01:30:25 +02:00
Johan Andersson
d69244d39c merge: dont try to merge when new is None 2018-05-26 01:26:30 +02:00
Johan Andersson
526c6bbdbe get_one_media: always remux hls
fixes #903
2018-05-25 22:49:05 +02:00
Johan Andersson
bbf2f82b79 fetcher: make name a property 2018-05-25 22:47:26 +02:00
Johan Andersson
dea461c198 get_one_media: instead of using hardcoded name of fetcher check for audio 2018-05-24 21:18:14 +02:00
Johan Andersson
30f09b4bad output: we can have separate a/v stream in .ts but there is no extension to separate them
fixes: #902
2018-05-24 21:15:14 +02:00
Johan Andersson
b77b78b121 output: dont try to check empty values 2018-05-21 23:37:00 +02:00
Johan Andersson
8b340bb103 get_media: use config inside of stream 2018-05-20 21:09:49 +02:00
Johan Andersson
a8fa7a8aa3 get_media: we already have this code in parser 2018-05-20 21:05:24 +02:00
Johan Andersson
2605f4ff94 output.formatname: this should be path 2018-05-20 20:51:34 +02:00
Johan Andersson
600afef12b parser.setup_default: add missing default values 2018-05-20 20:29:16 +02:00
Johan Andersson
c41dba7077 parser.merge: rewrite and dont update items with std values 2018-05-20 20:28:49 +02:00
Johan Andersson
2e0bf58a3f parser: this can be on one line 2018-05-20 19:05:35 +02:00
Johan Andersson
e97b104573 unused imports 2018-05-20 19:05:17 +02:00
Johan Andersson
6dfdc8c6c0 Support for config files
this will search for config file in
unix: ~/.svtplay-dl.yaml
windows: %APPDATA%\svtplay-dl\svtplay-dl.yaml
2018-05-20 18:21:40 +02:00
Johan Andersson
2543ed7f46 move some special config values to parser 2018-05-20 13:16:00 +02:00
Johan Andersson
d2776c3b12 Remove some debug prints 2018-05-13 13:18:36 +02:00
Johan Andersson
8192fe025d getmedia: right import path to which 2018-05-13 13:18:36 +02:00
Johan Andersson
836084f1fb output: user should be able to set its own output name 2018-05-13 13:18:36 +02:00
Johan Andersson
9a2aafefda parser: set output to None 2018-05-13 13:18:36 +02:00
Johan Andersson
335ff16c8c output: fix detection of already downloaded files 2018-05-13 13:09:27 +02:00
Johan Andersson
bf21419afd output.formatname: this should be ints 2018-05-13 13:09:27 +02:00
Johan Andersson
850ec4612d getmedia: do exclude inside of the streams loop. 2018-05-13 13:09:25 +02:00
Johan Andersson
d3841e17da options to commit 2018-05-13 13:08:24 +02:00
Johan Andersson
f300e24ca3 more options to config replaces 2018-05-13 13:07:34 +02:00
Johan Andersson
ca49366002 Options to config 2018-05-13 13:06:45 +02:00
Johan Andersson
28dcc90d7e flake8 fixes 2018-05-13 12:10:19 +02:00
Johan Andersson
a051418dab utils: move functions out of init to its own files. 2018-05-13 12:10:19 +02:00
Johan Andersson
8f126c3d49 flake8 add new line end of file 2018-05-13 12:09:27 +02:00
Johan Andersson
5d1f86d8fc flake8 fixes 2018-05-13 12:09:27 +02:00
Johan Andersson
903a4ae71d No need for utils.io 2018-05-13 12:09:27 +02:00
Johan Andersson
7e351530e9 No need for utils.urllib anymore 2018-05-13 12:09:27 +02:00
Johan Andersson
a6c4de8d9d flake fix 2018-05-13 12:09:27 +02:00
Johan Andersson
b82831df03 Move services to its own file 2018-05-13 12:09:27 +02:00
Johan Andersson
d496955cb4 Move Options to parser? 2018-05-13 12:09:27 +02:00
Johan Andersson
03c8b68bb6 Move get_* to its own file 2018-05-13 12:09:27 +02:00
Johan Andersson
3da6728ae3 move mergeparseroption to parser.py 2018-05-13 12:08:11 +02:00
Johan Andersson
c135ed3593 move parser to its own file 2018-05-13 12:08:11 +02:00
Johan Andersson
b8c1163852 remove a bunch of is_py. time for py3. 2018-05-13 12:08:11 +02:00
Johan Andersson
fbb511981e select_quality: this should be get and not pop 2018-03-10 10:09:26 +01:00
Johan Andersson
aff4a0716a select_quality: Sometimes cookies is not present in the stream
fixes: #858
2018-03-10 09:56:32 +01:00
Johan Andersson
0eaf0ec8f8 don't hide import errors 2018-03-09 22:53:33 +01:00
Johan Andersson
24213562ad postprocess: try to detect the bad audio track and skip it
this will only work for files with one audio track.
i have never seen file with several
fixes #814
2018-03-04 11:41:22 +01:00
dalgr
848dc12a3a Fix for issue 833, not abble to download hds streams 2018-03-04 11:26:30 +01:00
dalgr
da5ec62241 Improve preformance of hls parser, skip checking all posible videos 2018-02-04 20:40:25 +01:00
Johan Andersson
7b6ceb4737 Flake8 fixes 2018-01-30 20:17:33 +01:00
dalgr
709618068e Add default value for 'hls_time_stamp', Add live protocol prio 2018-01-23 19:01:40 +01:00
Robert Foss
c26bb3ccc5 Add proxy support
This feature utilises the proxy support of the requests module, and
has been tested with SOCKS5 through a SSH tunnel, and has been
verified to be working.

Signed-off-by: Robert Foss <robert.foss@memcpy.io>
2017-11-26 18:11:41 +01:00
dalgr
328ad0cff9 Change 'subprocess.check_call' to 'subprocess.check_output' in ''utils.output' 2017-10-10 22:25:09 +02:00
dalgr
bbc8e50352 retries with requests, for all 'self.http.request' 2017-10-09 20:32:16 +02:00
Johan Andersson
f7e6d2e77c utils: remove the try except from request.
this might cause some other issue. we will see.
2017-09-17 19:43:14 +02:00
Johan Andersson
fa590117de fetcher: handle errors from parsing playlists 2016-10-16 19:35:38 +02:00
Johan Andersson
23814a9bf5 select_quality: fix crash while using range
fixes: #392
2016-05-14 11:17:34 +02:00
Johan Andersson
0fe57c52a2 select_quality: support for range to -q
this is similar to -Q  but instead its -q 2000,3000  . it will choose one in between
fixes: #372
2016-04-26 23:48:12 +02:00
Olof Johansson
5393dc1929 Fix various pylint warnings
None of these were any real problems, but easier to spot real issues if pylint
is a bit quieter. Apart from the pylint overrides being sprinkled over the code
base, this commit also fixes occurences of the following issues:

 - logging-not-lazy
 - logging-format-interpolation
 - unused-import
 - unused-variable
2016-04-03 19:06:45 +02:00
Olof Johansson
fa66beff9b select_quality: Simplify and add comments 2016-03-31 20:33:44 +02:00
Olof Johansson
f59207302d prio_streams: Rename to protocol_prio 2016-03-31 20:33:44 +02:00
Olof Johansson
84ca17a14c select_quality: Replace sys.exits with UIExceptions 2016-03-31 20:19:44 +02:00
Olof Johansson
dad2790d9e select_quality: Filter out unwanted protocols before bitrate
It was easily possible to end up in a state where the bitrate prioritization
wanted a bitrate only avaiable via protocols outside of our set of accepted
protocols, like trying to disable dash for svtplay. By doing the protocol
filtering first, we end up only considering "valid" bitrates.
2016-03-31 20:19:44 +02:00
Olof Johansson
9d2054b4bc select_quality: handle when no requested proto is available
Needs to widen the scope of the try: catch block in svtplay_dl/__init__.py
a little, since select_quality can now also fire away UIExceptions.
2016-03-31 20:19:44 +02:00
Olof Johansson
a6e05e4502 prio_streams: make protocol_prio param mandatory
Move the responsibility for extracting it to select_quality (prio_streams'
caller). This makes the prio_streams function simpler.

And at the same time, move the default protocol_prio list to global scope. This
can for instance be used for improved error reporting.
2016-03-31 20:19:44 +02:00
Olof Johansson
b6541100a3 select_quality: fix argument parsing
Instead of parsing the argument to --stream-prio as a comma separated listed, it
was accidentally handled as a space separated list.
2016-03-31 20:19:44 +02:00
Johan Andersson
e523141a04 support for dash streams 2016-03-26 21:38:31 +01:00
Johan Andersson
4c8cb7c5d2 which: detect if you have the app in your cwd 2016-03-22 23:31:07 +01:00
Johan Andersson
bb861a4062 utils: implement a function to find program in path 2016-03-22 22:28:07 +01:00
Johan Andersson
8da9cab05b filenamify: dont remove the char before and after - 2016-03-17 16:57:12 +01:00
Johan Andersson
05b245dfaa filenamify: replace .-. with only - 2016-03-16 22:51:19 +01:00
Olof Johansson
4740a42050 prio_streams: remove selected from parameters
Moving the responsibility for filtering out "unwanted" bitrates,
as opposed to just present a prioritized list, makes writing
unit tests easier.
2016-03-13 16:56:51 +01:00
Olof Johansson
fe23b971a5 prio_streams: remove options from parameters
Instead, pass the protocol prio list; this was the only reason
we used to pass options. Removing options makes it easier to
unit test.
2016-03-13 16:56:51 +01:00
Olof Johansson
af298e86d9 prio_streams: fix issues with prioritization
Previously, prio_streams didn't correctly account for the protocol,
and we ended up with HDS videos by default, instead of HLS as exected,
because HDS sorts before HLS alphabetically.

Fixes #349
2016-03-13 16:56:51 +01:00
Johan Andersson
f047331b8c pylint fixes 2016-02-29 23:19:01 +01:00
Johan Andersson
3f04ae2a56 swap place on py2 and py3 checks 2016-01-27 19:49:38 +01:00
Johan Andersson
f4b32cb1df Merge pull request #326 from olof/filenamify_improvements
filenamify: disallow shell metachars + improvements
2016-01-10 20:36:07 +01:00
Olof Johansson
7803472713 utils: specify utf-8 encoding in editor modelines 2016-01-10 15:03:45 +01:00
Olof Johansson
f4005505d9 filenamify: Simplify and add unittests 2016-01-10 15:03:45 +01:00
Olof Johansson
9689dc78b0 filenamify: Make title regexp stricter
The - character is a range operator when used in character classes
(e.g. [0-9]). In our case, we want it to match a literal - (which it
coindicentally does, since it's within the range [ -.]. But we don't
want it to match other characters within this range.
2016-01-10 14:33:22 +01:00
Johan Andersson
9dcf203923 option to select which type of streams you prefer
fixes #321
2016-01-03 16:15:27 +01:00
Johan Andersson
eb7bd48d5a utils.http: support for custom headers
fixes: #209
2015-12-26 13:38:36 +01:00
Johan Andersson
ff0ce41b72 utils: update the user-agent 2015-12-26 13:35:55 +01:00
Johan Andersson
ef74148003 Option to not verify ssl certificate 2015-12-26 12:14:14 +01:00
Olof Johansson
270a64c6af Fix docstring after the filenamify changes (f3aba4e59)
This caused the test suite to fail because of doctest.
2015-10-25 19:49:03 +01:00