mirror of
https://github.com/soimort/you-get.git
synced 2025-02-02 16:24:00 +03:00
[common] fix skipping download of file existence in some cases
This commit is contained in:
parent
d2ebe7690d
commit
20ebd902e0
@ -499,6 +499,24 @@ class DummyProgressBar:
|
||||
def done(self):
|
||||
pass
|
||||
|
||||
def get_output_filename(urls, title, ext, output_dir, merge):
|
||||
merged_ext = ext
|
||||
if (len(urls) > 1) and merge:
|
||||
from .processor.ffmpeg import has_ffmpeg_installed
|
||||
if ext in ['flv', 'f4v']:
|
||||
if has_ffmpeg_installed():
|
||||
merged_ext = 'mp4'
|
||||
else:
|
||||
merged_ext = 'flv'
|
||||
elif ext == 'mp4':
|
||||
merged_ext = 'mp4'
|
||||
elif ext == 'ts':
|
||||
if has_ffmpeg_installed():
|
||||
merged_ext = 'mkv'
|
||||
else:
|
||||
merged_ext = 'ts'
|
||||
return '%s.%s' % (title, merged_ext)
|
||||
|
||||
def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merge=True, faker=False):
|
||||
assert urls
|
||||
if dry_run:
|
||||
@ -519,12 +537,12 @@ def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merg
|
||||
pass
|
||||
|
||||
title = tr(get_filename(title))
|
||||
output_filename = get_output_filename(urls, title, ext, output_dir, merge)
|
||||
output_filepath = os.path.join(output_dir, output_filename)
|
||||
|
||||
filename = '%s.%s' % (title, ext)
|
||||
filepath = os.path.join(output_dir, filename)
|
||||
if total_size:
|
||||
if not force and os.path.exists(filepath) and os.path.getsize(filepath) >= total_size * 0.9:
|
||||
print('Skipping %s: file already exists' % filepath)
|
||||
if not force and os.path.exists(output_filepath) and os.path.getsize(output_filepath) >= total_size * 0.9:
|
||||
print('Skipping %s: file already exists' % output_filepath)
|
||||
print()
|
||||
return
|
||||
bar = SimpleProgressBar(total_size, len(urls))
|
||||
@ -533,8 +551,8 @@ def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merg
|
||||
|
||||
if len(urls) == 1:
|
||||
url = urls[0]
|
||||
print('Downloading %s ...' % tr(filename))
|
||||
url_save(url, filepath, bar, refer = refer, faker = faker)
|
||||
print('Downloading %s ...' % tr(output_filename))
|
||||
url_save(url, output_filepath, bar, refer = refer, faker = faker)
|
||||
bar.done()
|
||||
else:
|
||||
parts = []
|
||||
@ -556,10 +574,10 @@ def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merg
|
||||
from .processor.ffmpeg import has_ffmpeg_installed
|
||||
if has_ffmpeg_installed():
|
||||
from .processor.ffmpeg import ffmpeg_concat_flv_to_mp4
|
||||
ffmpeg_concat_flv_to_mp4(parts, os.path.join(output_dir, title + '.mp4'))
|
||||
ffmpeg_concat_flv_to_mp4(parts, output_filepath)
|
||||
else:
|
||||
from .processor.join_flv import concat_flv
|
||||
concat_flv(parts, os.path.join(output_dir, title + '.flv'))
|
||||
concat_flv(parts, output_filepath)
|
||||
except:
|
||||
raise
|
||||
else:
|
||||
@ -571,10 +589,10 @@ def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merg
|
||||
from .processor.ffmpeg import has_ffmpeg_installed
|
||||
if has_ffmpeg_installed():
|
||||
from .processor.ffmpeg import ffmpeg_concat_mp4_to_mp4
|
||||
ffmpeg_concat_mp4_to_mp4(parts, os.path.join(output_dir, title + '.mp4'))
|
||||
ffmpeg_concat_mp4_to_mp4(parts, output_filepath)
|
||||
else:
|
||||
from .processor.join_mp4 import concat_mp4
|
||||
concat_mp4(parts, os.path.join(output_dir, title + '.mp4'))
|
||||
concat_mp4(parts, output_filepath)
|
||||
except:
|
||||
raise
|
||||
else:
|
||||
@ -586,10 +604,10 @@ def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merg
|
||||
from .processor.ffmpeg import has_ffmpeg_installed
|
||||
if has_ffmpeg_installed():
|
||||
from .processor.ffmpeg import ffmpeg_concat_ts_to_mkv
|
||||
ffmpeg_concat_ts_to_mkv(parts, os.path.join(output_dir, title + '.mkv'))
|
||||
ffmpeg_concat_ts_to_mkv(parts, output_filepath)
|
||||
else:
|
||||
from .processor.join_ts import concat_ts
|
||||
concat_ts(parts, os.path.join(output_dir, title + '.ts'))
|
||||
concat_ts(parts, output_filepath)
|
||||
except:
|
||||
raise
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user