aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dlc/downloader/fragment.py
diff options
context:
space:
mode:
authorTom-Oliver Heidel <github@tom-oliver.eu>2020-11-30 02:20:18 +0100
committerGitHub <noreply@github.com>2020-11-30 02:20:18 +0100
commitef5a4db06cb7667dc555f0dc1982de2c5258eb37 (patch)
treec947a547303ccf19483e83ea9d3ea77c74b5b7a8 /youtube_dlc/downloader/fragment.py
parent93201d50aa5e0bce0ecf6941cd6f9ea6c9ef86a5 (diff)
parentc78b936af4366259605e3e706bdeb5e173bf3d9b (diff)
downloadhypervideo-pre-ef5a4db06cb7667dc555f0dc1982de2c5258eb37.tar.lz
hypervideo-pre-ef5a4db06cb7667dc555f0dc1982de2c5258eb37.tar.xz
hypervideo-pre-ef5a4db06cb7667dc555f0dc1982de2c5258eb37.zip
Merge pull request #245 from pukkandan/merge-main
Merge youtube-dl and fix Youtube Feeds
Diffstat (limited to 'youtube_dlc/downloader/fragment.py')
-rw-r--r--youtube_dlc/downloader/fragment.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/youtube_dlc/downloader/fragment.py b/youtube_dlc/downloader/fragment.py
index 9339b3a62..cf4fd41da 100644
--- a/youtube_dlc/downloader/fragment.py
+++ b/youtube_dlc/downloader/fragment.py
@@ -97,12 +97,15 @@ class FragmentFD(FileDownloader):
def _download_fragment(self, ctx, frag_url, info_dict, headers=None):
fragment_filename = '%s-Frag%d' % (ctx['tmpfilename'], ctx['fragment_index'])
- success = ctx['dl'].download(fragment_filename, {
+ fragment_info_dict = {
'url': frag_url,
'http_headers': headers or info_dict.get('http_headers'),
- })
+ }
+ success = ctx['dl'].download(fragment_filename, fragment_info_dict)
if not success:
return False, None
+ if fragment_info_dict.get('filetime'):
+ ctx['fragment_filetime'] = fragment_info_dict.get('filetime')
down, frag_sanitized = sanitize_open(fragment_filename, 'rb')
ctx['fragment_filename_sanitized'] = frag_sanitized
frag_content = down.read()
@@ -258,6 +261,13 @@ class FragmentFD(FileDownloader):
downloaded_bytes = ctx['complete_frags_downloaded_bytes']
else:
self.try_rename(ctx['tmpfilename'], ctx['filename'])
+ if self.params.get('updatetime', True):
+ filetime = ctx.get('fragment_filetime')
+ if filetime:
+ try:
+ os.utime(ctx['filename'], (time.time(), filetime))
+ except Exception:
+ pass
downloaded_bytes = os.path.getsize(encodeFilename(ctx['filename']))
self._hook_progress({