Commit Graph

50 Commits (3d2a643fdcba126b209b758f2e403742ee631cf3)

Author SHA1 Message Date
Sergey M․ 504f20dd30
Remove experimental mark for some options
Sergey M․ 2ea212628e
[downloader/common] Improve progress reporting when no total bytes available
John Hawkinson 80aa246094
[downloader/external] Fix download finalization when writing file to stdout (closes )
An OSError or IOError generally indicates something a little more
wrong than a "simple" UnavailableVideoError, so print the actual
traceback that leads to the exception. Otherwise meaningful postmortem
debugging a bug report is essentially infeasible.
Sergey M․ 073cca3df8
[downloader/common] Add whitespace
Sergey M․ b54d4a5ce8
Document http_chunk_size
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 , closes , closes , closes , closes , closes , closes 
Sergey M․ 1433734c35
[downloader/common] Use utils.shell_quote for debug command line
Remita Amine ea0c2f219c [downloader/fragment] use a general file to store fragment download context
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
Pratyush Singh d374d943f3
[downloader/common] Limit displaying 2 digits after decimal point in sleep interval message
Sergey M․ bcd6276520
[downloader/common] Remove debug output
Sergey M․ 1ad6b891b2
Add more checks for --min/max-sleep-interval arguments and use more idiomatic naming
singh-pratyush96 065bc35489
Add --max-sleep-interval (Closes )
Sergey M․ 617e58d850 [downloader/{common,fragment}] Fix total retries reporting on python 2.6
Yen Chi Hsuan e9c0cdd389 [jython] Introduce compat_os_name
os.name is always 'java' on Jython
Sergey M․ d800609c62 [refactor] Do not specify redundant None as second argument in dict.get()
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.
Jaime Marquínez Ferrándiz 32d77eeb04 [downloader/common] report_retry: Don't crash when retries is infinite (fixes )
Sergey M․ 9b9c5355e4 Rename error_to_str to error_to_compat_str
Sergey M․ 7f8b271465 Properly convert errors to strings
ashutosh-mishra 17cc153435 Typo fix, found while going through the code.
Sergey M․ 964e7b2dd0 [downloader/common] Always skip "already downloaded" check when outputting to stdout
Sergey M․ cd8a07a764 [downloader/common] Use decodeArgument
Philipp Hagemeister c59e701e35 Default to continuedl=True
We already do this in the CLI interface, so it should be just fine.
Jaime Marquínez Ferrándiz 70a1165b32 Don't use bare 'except:'
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
Philipp Hagemeister c75f0b361a [downloader/external] Add support for custom options (Fixes , closes )
Philipp Hagemeister 8fb3ac3649 PEP8: W503
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 .
Philipp Hagemeister 881e6a1f5c Add --xattr-set-filesize option (Fixes )
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.
Philipp Hagemeister 5f0d813d93 Merge remote-tracking branch 'rupertbaxter2/master'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/downloader/common.py
Pierre 4340decad2 check for overwriting files in the downloader (fixes , closes )
Philipp Hagemeister fdc8000810 [downloader] Handle a file ./- (Fixes )
Philipp Hagemeister 71b640cc5b [YoutubeDL] Add declarative version of progress hooks
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
Philipp Hagemeister cc8c9281e6 [downloader/common] Do not use classic int division
Philipp Hagemeister cf372f0778 Merge remote-tracking branch 'SyxbEaEQ2/rate-limit'
Jouke Waleson 5f6a1245ff PEP8 applied
Philipp Hagemeister b6b70730bf [downloader/common] Modernize
Philipp Hagemeister b686fc18da [hlsnative] Support test parameter
rupertbaxter2 a42c921598 Removed sleep and sleep output when interval is zero
rupertbaxter2 f96252b913 Merge remote-tracking branch 'upstream/master'
Sergey M․ c767dc74b8 [downloader/common] Fix typo
SyxbEaEQ2 00cf122d7a [downloader/common] Fix possible negative sleep time in slow_down()
rupertbaxter2 03359e9864 Added --sleep-interval option
SyxbEaEQ2 c7667c2d7f [downloader/(common/http)] Changes calculation of the rate-limit. (Fix , fix , fix , fix )
Jaime Marquínez Ferrándiz e3ced9ed61 [downloader/common] Use `compat_str` with the error in `try_rename` (appeared in )
Otherwise on python 2.x we get `UnicodeDecodeError` because it may contain non ascii characters.
Jaime Marquínez Ferrándiz f89197d73e Some pep8 style fixes
Philipp Hagemeister dabc127362 Remove dead code
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