Sergey M․
a3c3a1e128
[http] Rework HTTP downloader
* Simplify code and split into separate routines to facilitate maintaining
* Make retry mechanism work on errors during actual download not only during connection establishment phase
* Retry on ECONNRESET and ETIMEDOUT during reading data from network
* Retry on content too short and various timeout errors
* Show error description on retry
* Closes #506 , closes #809 , closes #2849 , closes #4240 , closes #6023 , closes #8625 , closes #9483
7 years ago
Sergey M․
1433734c35
[downloader/common] Use utils.shell_quote for debug command line
8 years ago
Remita Amine
ea0c2f219c
[downloader/fragment] use a general file to store fragment download context
8 years ago
Remita Amine
75a2485407
[fragment,hls,f4m,dash,ism] improve fragment downloading
- resume immediately
- no need to concatenate segments and decrypt them on every resume
- no need to save temp files for segments
and for hls downloader:
- no need to download keys for segments that already downloaded
9 years ago
Pratyush Singh
d374d943f3
[downloader/common] Limit displaying 2 digits after decimal point in sleep interval message
8 years ago
Sergey M․
bcd6276520
[downloader/common] Remove debug output
8 years ago
Sergey M․
1ad6b891b2
Add more checks for --min/max-sleep-interval arguments and use more idiomatic naming
8 years ago
singh-pratyush96
065bc35489
Add --max-sleep-interval ( Closes #9930 )
9 years ago
Sergey M․
617e58d850
[downloader/{common,fragment}] Fix total retries reporting on python 2.6
9 years ago
Yen Chi Hsuan
e9c0cdd389
[jython] Introduce compat_os_name
os.name is always 'java' on Jython
9 years ago
Sergey M․
d800609c62
[refactor] Do not specify redundant None as second argument in dict.get()
9 years ago
Jaime Marquínez Ferrándiz
7d106a65ca
Add --hls-use-mpegts option
When using the mpegts container hls vidoes can be played while being downloaded (useful if you are recording a live stream).
VLC and mpv play them file, but QuickTime doesn't.
9 years ago
Jaime Marquínez Ferrándiz
32d77eeb04
[downloader/common] report_retry: Don't crash when retries is infinite ( fixes #8299 )
9 years ago
Sergey M․
9b9c5355e4
Rename error_to_str to error_to_compat_str
9 years ago
Sergey M․
7f8b271465
Properly convert errors to strings
9 years ago
ashutosh-mishra
17cc153435
Typo fix, found while going through the code.
9 years ago
Sergey M․
964e7b2dd0
[downloader/common] Always skip "already downloaded" check when outputting to stdout
9 years ago
Sergey M․
cd8a07a764
[downloader/common] Use decodeArgument
10 years ago
Philipp Hagemeister
c59e701e35
Default to continuedl=True
We already do this in the CLI interface, so it should be just fine.
10 years ago
Jaime Marquínez Ferrándiz
70a1165b32
Don't use bare 'except:'
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
10 years ago
Philipp Hagemeister
c75f0b361a
[downloader/external] Add support for custom options ( Fixes #4885 , closes #5098 )
10 years ago
Philipp Hagemeister
8fb3ac3649
PEP8: W503
10 years ago
Philipp Hagemeister
5cda4eda72
[YoutubeDL] Use a progress hook for progress reporting
Instead of every downloader calling two helper functions, let our progress report be an ordinary progress hook like everyone else's.
Closes #4875 .
10 years ago
Philipp Hagemeister
881e6a1f5c
Add --xattr-set-filesize option ( Fixes #1348 )
10 years ago
Philipp Hagemeister
222516d97d
[downloader] Lay groundwork for external downloaders.
This comes with a very simply implementation for wget; the real work is in setting up the infrastructure.
10 years ago
Pierre
4340decad2
check for overwriting files in the downloader ( fixes #3916 , closes #3829 )
10 years ago
Philipp Hagemeister
fdc8000810
[downloader] Handle a file ./- ( Fixes #4498 )
10 years ago
Philipp Hagemeister
71b640cc5b
[YoutubeDL] Add declarative version of progress hooks
10 years ago
Philipp Hagemeister
1cc79574fc
Fix imports and general cleanup
· Import from compat what comes from compat. Yes, some names are available in utils too, but that's an implementation detail.
· Use _match_id consistently whenever possible
· Fix some outdated tests
· Use consistent valid URL (always match the whole protocol, no ^ at start required)
· Use modern test definitions
10 years ago
Philipp Hagemeister
cc8c9281e6
[downloader/common] Do not use classic int division
10 years ago
Jouke Waleson
5f6a1245ff
PEP8 applied
10 years ago
Philipp Hagemeister
b6b70730bf
[downloader/common] Modernize
10 years ago
Philipp Hagemeister
b686fc18da
[hlsnative] Support test parameter
10 years ago
rupertbaxter2
a42c921598
Removed sleep and sleep output when interval is zero
11 years ago
Sergey M․
c767dc74b8
[downloader/common] Fix typo
11 years ago
SyxbEaEQ2
00cf122d7a
[downloader/common] Fix possible negative sleep time in slow_down()
11 years ago
rupertbaxter2
03359e9864
Added --sleep-interval option
11 years ago
SyxbEaEQ2
c7667c2d7f
[downloader/(common/http)] Changes calculation of the rate-limit. ( Fix #2297 , fix #2140 , fix #595 , fix #2370 )
11 years ago
Jaime Marquínez Ferrándiz
e3ced9ed61
[downloader/common] Use `compat_str` with the error in `try_rename` (appeared in #2389 )
Otherwise on python 2.x we get `UnicodeDecodeError` because it may contain non ascii characters.
11 years ago
Jaime Marquínez Ferrándiz
f89197d73e
Some pep8 style fixes
11 years ago
Philipp Hagemeister
dabc127362
Remove dead code
11 years ago
Jaime Marquínez Ferrándiz
3bc2ddccc8
Move FileDownloader to its own module and create a new class for each download process
A suitable downloader can be found using the 'get_suitable_downloader' function.
Each subclass implements 'real_download', for downloading an info dict you call the 'download' method, which first checks if the video has already been downloaded
11 years ago