mirror of
https://github.com/soimort/you-get.git
synced 2025-02-03 00:33:58 +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):
|
def done(self):
|
||||||
pass
|
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):
|
def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merge=True, faker=False):
|
||||||
assert urls
|
assert urls
|
||||||
if dry_run:
|
if dry_run:
|
||||||
@ -519,12 +537,12 @@ def download_urls(urls, title, ext, total_size, output_dir='.', refer=None, merg
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
title = tr(get_filename(title))
|
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 total_size:
|
||||||
if not force and os.path.exists(filepath) and os.path.getsize(filepath) >= total_size * 0.9:
|
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' % filepath)
|
print('Skipping %s: file already exists' % output_filepath)
|
||||||
print()
|
print()
|
||||||
return
|
return
|
||||||
bar = SimpleProgressBar(total_size, len(urls))
|
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:
|
if len(urls) == 1:
|
||||||
url = urls[0]
|
url = urls[0]
|
||||||
print('Downloading %s ...' % tr(filename))
|
print('Downloading %s ...' % tr(output_filename))
|
||||||
url_save(url, filepath, bar, refer = refer, faker = faker)
|
url_save(url, output_filepath, bar, refer = refer, faker = faker)
|
||||||
bar.done()
|
bar.done()
|
||||||
else:
|
else:
|
||||||
parts = []
|
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
|
from .processor.ffmpeg import has_ffmpeg_installed
|
||||||
if has_ffmpeg_installed():
|
if has_ffmpeg_installed():
|
||||||
from .processor.ffmpeg import ffmpeg_concat_flv_to_mp4
|
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:
|
else:
|
||||||
from .processor.join_flv import concat_flv
|
from .processor.join_flv import concat_flv
|
||||||
concat_flv(parts, os.path.join(output_dir, title + '.flv'))
|
concat_flv(parts, output_filepath)
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
else:
|
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
|
from .processor.ffmpeg import has_ffmpeg_installed
|
||||||
if has_ffmpeg_installed():
|
if has_ffmpeg_installed():
|
||||||
from .processor.ffmpeg import ffmpeg_concat_mp4_to_mp4
|
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:
|
else:
|
||||||
from .processor.join_mp4 import concat_mp4
|
from .processor.join_mp4 import concat_mp4
|
||||||
concat_mp4(parts, os.path.join(output_dir, title + '.mp4'))
|
concat_mp4(parts, output_filepath)
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
else:
|
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
|
from .processor.ffmpeg import has_ffmpeg_installed
|
||||||
if has_ffmpeg_installed():
|
if has_ffmpeg_installed():
|
||||||
from .processor.ffmpeg import ffmpeg_concat_ts_to_mkv
|
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:
|
else:
|
||||||
from .processor.join_ts import concat_ts
|
from .processor.join_ts import concat_ts
|
||||||
concat_ts(parts, os.path.join(output_dir, title + '.ts'))
|
concat_ts(parts, output_filepath)
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user