From eb55bad5a0c1af9388301ffbf17845ee53a41635 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sat, 1 May 2021 21:28:30 +0530 Subject: [PATCH] [aria2c] Fix whitespace being stripped off Closes #276 --- yt_dlp/downloader/external.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/yt_dlp/downloader/external.py b/yt_dlp/downloader/external.py index 70da63f69..d879bc66d 100644 --- a/yt_dlp/downloader/external.py +++ b/yt_dlp/downloader/external.py @@ -290,11 +290,19 @@ class Aria2cFD(ExternalFD): cmd += self._bool_option('--remote-time', 'updatetime', 'true', 'false', '=') cmd += self._configuration_args() + # aria2c strips out spaces from the beginning/end of filenames and paths. + # We work around this issue by adding a "./" to the beginning of the + # filename and relative path, and adding a "/" at the end of the path. + # See: https://github.com/yt-dlp/yt-dlp/issues/276 + # https://github.com/ytdl-org/youtube-dl/issues/20312 + # https://github.com/aria2/aria2/issues/1373 dn = os.path.dirname(tmpfilename) if dn: - cmd += ['--dir', dn] + if not os.path.isabs(dn): + dn = '.%s%s' % (os.path.sep, dn) + cmd += ['--dir', dn + os.path.sep] if 'fragments' not in info_dict: - cmd += ['--out', os.path.basename(tmpfilename)] + cmd += ['--out', '.%s%s' % (os.path.sep, os.path.basename(tmpfilename))] cmd += ['--auto-file-renaming=false'] if 'fragments' in info_dict: