diff options
author | Tom-Oliver Heidel <github@tom-oliver.eu> | 2020-11-30 02:46:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-30 02:46:10 +0100 |
commit | 9e4043faa99609ac16d279a5f8d5fc22b23f0c8e (patch) | |
tree | 2c052847cd85fdf3ac33176a7d0109c79b518c45 /youtube_dlc/downloader/fragment.py | |
parent | 5867a1678924ad25a4784abfa5dbd28b5b69eb67 (diff) | |
parent | 94c29091d049f48962c3e81a1b5b0237ab54827d (diff) |
Merge branch 'master' into rcs
Diffstat (limited to 'youtube_dlc/downloader/fragment.py')
-rw-r--r-- | youtube_dlc/downloader/fragment.py | 14 |
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({ |