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
Johan Andersson
c453f7c48b
filenamify: remove “ and ‘
...
fix #289
2015-10-25 01:29:04 +02:00
Johan Andersson
43dd5f4b2d
http.request: dont send headers twice
2015-10-24 21:18:23 +02:00
Johan Andersson
f3aba4e598
filenamify: replace with dot instead of dash
2015-10-19 10:37:15 +02:00
Johan Andersson
64b2ac0240
utils.request: send chrome user-agent instead of the default one
2015-10-04 14:33:08 +02:00
Johan Andersson
dc2cc0294c
pip8. expected 2 lines found 1
2015-09-15 20:10:32 +02:00
Johan Andersson
29d00920ad
utils: show an error message if requests is not found
2015-09-13 22:05:17 +02:00
Johan Andersson
80a55e2615
utils: unused import
2015-09-13 22:04:47 +02:00
Johan Andersson
1057f800b0
request: only show what request we are getting.
2015-09-07 20:13:36 +02:00
Johan Andersson
06472b5012
utils: remove unused imports
2015-08-31 20:35:23 +02:00
Johan Andersson
ea70ec30bf
urllib: remove unused imports
2015-08-31 20:35:05 +02:00
Johan Andersson
331de0a70f
replace self.http.get with our own function with debug info
2015-08-31 19:45:15 +02:00
Johan Andersson
a1e987348d
download_thumbernail: use request instead
2015-08-30 12:04:49 +02:00
Johan Andersson
f416a17572
ensure_unicode: remove extra space
2015-08-30 00:08:24 +02:00
Johan Andersson
84ee181f5b
adding request support.
...
still need some more work
2015-08-30 00:06:20 +02:00
Johan Andersson
679f40cf35
io: use StringIO instead of BytesIO
2015-04-28 22:58:02 +02:00
Anders Waldenborg
101354ed7e
Add urljoin to svtplay_dl.utils.urllib
2015-03-07 10:42:48 +01:00
Johan Andersson
8f89b00c5e
unused imports
2015-01-25 14:41:29 +01:00
Johan Andersson
6a374ffa06
Move hdcore check to utils/get_http_data
2015-01-18 18:01:41 +01:00
Johan Andersson
b09b4c17f5
main: --list-quality option
2015-01-05 22:40:40 +01:00
Johan Andersson
d152e02d06
filenamify: dont remove dot
2014-12-28 13:57:11 +01:00
Johan Andersson
d7d8297811
pylint fixes
2014-12-26 02:04:29 +01:00
Johan Andersson
e273fd0abc
get_http_data: send postdata in the argument for Request
2014-12-15 12:33:49 +01:00
Johan Andersson
67b3c8bb54
Rewrite http request handling.
2014-12-08 23:07:02 +01:00
Johan Andersson
e1e56773cb
get_http_data: remove try-except-clause
2014-11-25 19:03:23 +01:00
Johan Andersson
1ce469e4f0
select_quality: in some cases we don’t know quality and return 0.
...
because of the 0 we then fail and show and error message when we shouldn’t.
this fixes #133
2014-09-28 23:32:57 +02:00
Olof Johansson
ad98867700
utils: ignore pylint import-error warning
...
This is a python3 fallback.
2014-07-22 10:19:10 +02:00
Johan Andersson
a52fbe6985
select_quality: move preferred option to get_one_media
2014-07-13 16:03:03 +02:00
Johan Andersson
d9b945bf9e
select_quality: print the fetcher name after bitrate.
2014-07-13 15:12:06 +02:00
Johan Andersson
4b9b40c9f4
output: better progress width handling
2014-06-26 22:55:54 +02:00
Johan Andersson
e87c236c51
option to choose which download method is preferred.
2014-06-02 21:27:51 +02:00
Johan Andersson
2eb9af443a
select_qualtiy: it wants ints.
2014-06-02 21:27:50 +02:00
Johan Andersson
a857f1d906
get_one_media: select quality
2014-06-02 21:27:50 +02:00
Johan Andersson
4e69ebdf39
utils: forgot to remove the subtiles from the old file
2014-06-02 21:27:49 +02:00
Johan Andersson
3dc633df12
subtitle: When we only see the name without extension, add .srt to it.
2014-03-21 21:01:00 +01:00
Johan Andersson
2cece32246
subtitle_sami: this fixes #74
2014-03-11 16:05:32 +01:00
Johan Andersson
81f1f49301
subtitle_json: fixing #73
2014-03-11 16:04:38 +01:00
Olof Johansson
e8dc4781db
urllib: export quote (url encoding)
2014-02-08 17:10:58 +01:00
Johan Andersson
7010adc6e6
utils: use FIREFOX_UA in check_redirect
2014-01-25 23:53:09 +01:00
Anders Waldenborg
b1871b3834
Add --thumbnail
...
Names thumbnails as $basename.tbn (Hi xbmc!)
2014-01-25 22:57:50 +01:00
Anders Waldenborg
dcf4c1bd23
Add doctests for new functions in utils
...
The print call is there to make it py2/3 compatible (py2 adds u'' where py3 just adds '')
2014-01-25 22:57:49 +01:00
Anders Waldenborg
9d3ffd07d8
Fix reverse logic in io
2014-01-25 22:57:49 +01:00
Anders Waldenborg
d6ab73679e
Improve title to filename conversion.
...
Does unicode NFD decomposition on the string before stripping non ascii chars.
This means that chars like 'ü' is decomposed into 'u' and '¨', which mean that
when non-ascii chars are dropped we will still keep the 'u'.
Fixes #60
2014-01-25 22:57:37 +01:00
Anders Waldenborg
712901cc8e
Decode html entities in title tag
2014-01-25 13:01:01 +01:00
Anders Waldenborg
0671b2418e
Display http request urls and time with --verbose
2014-01-25 13:01:01 +01:00
Johan Andersson
9345284547
Make pylint bit happier
2013-12-30 01:43:59 +01:00
Johan Andersson
cceb60f8b3
get_http_data: use space instead of tab one line
2013-12-30 01:37:13 +01:00
Johan Andersson
33bb2c5c13
Replace sys.version_info with pyX
2013-12-30 01:35:08 +01:00
Johan Andersson
4348b93167
subtitle_tt: urplay changed from dur till duration
2013-10-28 20:16:12 +01:00
Johan Andersson
8a72d889b8
subtitle_tt: make up an end time when it does not exists.
...
In some streams end time does not exists.
so we make our own from beginning + duration.
2013-09-15 00:28:23 +02:00
Johan Andersson
2bf02d1a2b
utils: remove old comment
2013-08-15 16:36:38 +02:00
Johan Andersson
dcf140475d
utils: refactor get_http_data
2013-08-13 20:06:46 +02:00
Johan Andersson
979b8c43f7
subtitle_sami: remove an extra space in the beginning
2013-08-10 20:29:06 +02:00
Johan Andersson
4c858f173f
subtitle_sami: fix unicode encode issue
2013-08-10 20:29:06 +02:00
Johan Andersson
4c30886d53
subtitle: python 2/3 fixes.
2013-05-29 23:21:15 +02:00
Johan Andersson
c982f29551
subtitle_tt: converting didn't work.
...
based on a fix from quite @ github
2013-05-29 23:21:14 +02:00
Johan Andersson
f7760ee640
Adding missing r prefixes to regex string
2013-05-05 12:57:42 +02:00
Olof Johansson
73694a1703
get_http_data: Create Request object
...
The OpenerDirector does not support .adddata(), but it OpenerDirector.open()
does accept being passed a Request object.
2013-04-27 13:46:38 +02:00
Olof Johansson
c9b38e21f6
Don't use deprecated builtin map()
2013-04-27 13:25:31 +02:00
Olof Johansson
15af22000b
utils.io: Forgot to add pylint disable for E0611
2013-04-27 13:05:10 +02:00
Olof Johansson
bd1ae14e53
Isolate py3/2.7 conditional imports to own modules
2013-04-21 13:45:43 +02:00