projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'progress-as-hook2'
[youtube-dl]
/
youtube_dl
/
downloader
/
http.py
diff --git
a/youtube_dl/downloader/http.py
b/youtube_dl/downloader/http.py
index 49170cf9d47634602efe7832b235e4a751e25817..2e3dac8251dbaf5d8b3e1a90bc459f362d14f72e 100644
(file)
--- a/
youtube_dl/downloader/http.py
+++ b/
youtube_dl/downloader/http.py
@@
-1,11
+1,10
@@
from __future__ import unicode_literals
from __future__ import unicode_literals
+import errno
import os
import os
+import socket
import time
import time
-from socket import error as SocketError
-import errno
-
from .common import FileDownloader
from ..compat import (
compat_urllib_request,
from .common import FileDownloader
from ..compat import (
compat_urllib_request,
@@
-15,7
+14,6
@@
from ..utils import (
ContentTooShortError,
encodeFilename,
sanitize_open,
ContentTooShortError,
encodeFilename,
sanitize_open,
- format_bytes,
)
)
@@
-102,7
+100,7
@@
class HttpFD(FileDownloader):
resume_len = 0
open_mode = 'wb'
break
resume_len = 0
open_mode = 'wb'
break
- except
SocketE
rror as e:
+ except
socket.e
rror as e:
if e.errno != errno.ECONNRESET:
# Connection reset is no problem, just retry
raise
if e.errno != errno.ECONNRESET:
# Connection reset is no problem, just retry
raise
@@
-137,7
+135,6
@@
class HttpFD(FileDownloader):
self.to_screen('\r[download] File is larger than max-filesize (%s bytes > %s bytes). Aborting.' % (data_len, max_data_len))
return False
self.to_screen('\r[download] File is larger than max-filesize (%s bytes > %s bytes). Aborting.' % (data_len, max_data_len))
return False
- data_len_str = format_bytes(data_len)
byte_counter = 0 + resume_len
block_size = self.params.get('buffersize', 1024)
start = time.time()
byte_counter = 0 + resume_len
block_size = self.params.get('buffersize', 1024)
start = time.time()
@@
-196,20
+193,19
@@
class HttpFD(FileDownloader):
# Progress message
speed = self.calc_speed(start, now, byte_counter - resume_len)
if data_len is None:
# Progress message
speed = self.calc_speed(start, now, byte_counter - resume_len)
if data_len is None:
- eta =
percent =
None
+ eta = None
else:
else:
- percent = self.calc_percent(byte_counter, data_len)
eta = self.calc_eta(start, time.time(), data_len - resume_len, byte_counter - resume_len)
eta = self.calc_eta(start, time.time(), data_len - resume_len, byte_counter - resume_len)
- self.report_progress(percent, data_len_str, speed, eta)
self._hook_progress({
self._hook_progress({
+ 'status': 'downloading',
'downloaded_bytes': byte_counter,
'total_bytes': data_len,
'tmpfilename': tmpfilename,
'filename': filename,
'downloaded_bytes': byte_counter,
'total_bytes': data_len,
'tmpfilename': tmpfilename,
'filename': filename,
- 'status': 'downloading',
'eta': eta,
'speed': speed,
'eta': eta,
'speed': speed,
+ 'elapsed': now - start,
})
if is_test and byte_counter == data_len:
})
if is_test and byte_counter == data_len:
@@
-221,7
+217,13
@@
class HttpFD(FileDownloader):
return False
if tmpfilename != '-':
stream.close()
return False
if tmpfilename != '-':
stream.close()
- self.report_finish(data_len_str, (time.time() - start))
+
+ self._hook_progress({
+ 'downloaded_bytes': byte_counter,
+ 'total_bytes': data_len,
+ 'tmpfilename': tmpfilename,
+ 'status': 'error',
+ })
if data_len is not None and byte_counter != data_len:
raise ContentTooShortError(byte_counter, int(data_len))
self.try_rename(tmpfilename, filename)
if data_len is not None and byte_counter != data_len:
raise ContentTooShortError(byte_counter, int(data_len))
self.try_rename(tmpfilename, filename)
@@
-235,6
+237,7
@@
class HttpFD(FileDownloader):
'total_bytes': byte_counter,
'filename': filename,
'status': 'finished',
'total_bytes': byte_counter,
'filename': filename,
'status': 'finished',
+ 'elapsed': time.time() - start,
})
return True
})
return True