|
|
@ -542,8 +542,15 @@ class FileDownloader(object): |
|
|
|
raise |
|
|
|
else: |
|
|
|
# Examine the reported length |
|
|
|
if content_length is not None and long(content_length) == resume_len: |
|
|
|
# The file had already been fully downloaded |
|
|
|
if (content_length is not None and |
|
|
|
resume_len - 100 < long(content_length) < resume_len + 100): |
|
|
|
# The file had already been fully downloaded. |
|
|
|
# Explanation to the above condition: in issue #175 it was revealed that |
|
|
|
# YouTube sometimes adds or removes a few bytes from the end of the file, |
|
|
|
# changing the file size slightly and causing problems for some users. So |
|
|
|
# I decided to implement a suggested change and consider the file |
|
|
|
# completely downloaded if the file size differs less than 100 bytes from |
|
|
|
# the one in the hard drive. |
|
|
|
self.report_file_already_downloaded(filename) |
|
|
|
return True |
|
|
|
else: |
|
|
|