From 20d631ca7812d3e57db36a4cb858b36c3c7e71f4 Mon Sep 17 00:00:00 2001 From: tcely Date: Tue, 19 Nov 2024 17:06:46 -0500 Subject: [PATCH 1/4] Use YOUTUBE_DL_TEMPDIR setting Fixes #218 --- tubesync/sync/youtube.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tubesync/sync/youtube.py b/tubesync/sync/youtube.py index 78b130c5..abd404bd 100644 --- a/tubesync/sync/youtube.py +++ b/tubesync/sync/youtube.py @@ -5,17 +5,27 @@ import os +from pathlib import Path from django.conf import settings from copy import copy from common.logger import log import yt_dlp -_youtubedl_cachedir = getattr(settings, 'YOUTUBE_DL_CACHEDIR', None) _defaults = getattr(settings, 'YOUTUBE_DEFAULTS', {}) +_youtubedl_cachedir = getattr(settings, 'YOUTUBE_DL_CACHEDIR', None) if _youtubedl_cachedir: _youtubedl_cachedir = str(_youtubedl_cachedir) _defaults['cachedir'] = _youtubedl_cachedir +_youtubedl_tempdir = getattr(settings, 'YOUTUBE_DL_TEMPDIR', None) +if _youtubedl_tempdir: + _youtubedl_tempdir = str(_youtubedl_tempdir) + _youtubedl_tempdir_path = Path(_youtubedl_tempdir) + _youtubedl_tempdir_path.mkdir(parents=True, exist_ok=True) + (_youtubedl_tempdir_path / '.ignore').touch(exist_ok=True) + _paths = _defaults.get('paths', {}) + _paths.update({ 'temp': _youtubedl_tempdir, }) + _defaults['paths'] = _paths @@ -140,7 +150,7 @@ def download_media(url, media_format, extension, output_file, info_json, ytopts = { 'format': media_format, 'merge_output_format': extension, - 'outtmpl': output_file, + 'outtmpl': os.path.basename(output_file), 'quiet': True, 'progress_hooks': [hook], 'writeinfojson': info_json, @@ -161,6 +171,10 @@ def download_media(url, media_format, extension, output_file, info_json, 'add_metadata': embed_metadata } opts = get_yt_opts() + ytopts['paths'] = opts.get('paths', {}) + ytopts['paths'].update({ + 'home': os.path.dirname(output_file), + }) if embed_thumbnail: ytopts['postprocessors'].append({'key': 'EmbedThumbnail'}) if skip_sponsors: From 41e24b82b8513f034e74d8649360c4549049ee0f Mon Sep 17 00:00:00 2001 From: tcely Date: Tue, 19 Nov 2024 17:29:55 -0500 Subject: [PATCH 2/4] Made DEBUG work for youtube-dl also --- tubesync/sync/youtube.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tubesync/sync/youtube.py b/tubesync/sync/youtube.py index abd404bd..d51c7b45 100644 --- a/tubesync/sync/youtube.py +++ b/tubesync/sync/youtube.py @@ -151,7 +151,8 @@ def download_media(url, media_format, extension, output_file, info_json, 'format': media_format, 'merge_output_format': extension, 'outtmpl': os.path.basename(output_file), - 'quiet': True, + 'quiet': False if settings.DEBUG else True, + 'verbose': True if settings.DEBUG else False, 'progress_hooks': [hook], 'writeinfojson': info_json, 'postprocessors': [], From 314f3d874aa15b73c1d1717c3534c8b4d24d5b09 Mon Sep 17 00:00:00 2001 From: tcely Date: Tue, 19 Nov 2024 17:32:07 -0500 Subject: [PATCH 3/4] Enable the yt-dlp tempdir by default --- tubesync/tubesync/local_settings.py.container | 1 + 1 file changed, 1 insertion(+) diff --git a/tubesync/tubesync/local_settings.py.container b/tubesync/tubesync/local_settings.py.container index a149ca71..876d57bc 100644 --- a/tubesync/tubesync/local_settings.py.container +++ b/tubesync/tubesync/local_settings.py.container @@ -61,6 +61,7 @@ if BACKGROUND_TASK_ASYNC_THREADS > MAX_BACKGROUND_TASK_ASYNC_THREADS: MEDIA_ROOT = CONFIG_BASE_DIR / 'media' DOWNLOAD_ROOT = DOWNLOADS_BASE_DIR YOUTUBE_DL_CACHEDIR = CONFIG_BASE_DIR / 'cache' +YOUTUBE_DL_TEMPDIR = DOWNLOAD_ROOT / 'cache' COOKIES_FILE = CONFIG_BASE_DIR / 'cookies.txt' From 726d128db91ede45c9b13064b2893d25249340b5 Mon Sep 17 00:00:00 2001 From: tcely Date: Tue, 19 Nov 2024 17:34:58 -0500 Subject: [PATCH 4/4] Added YOUTUBE_DL_TEMPDIR --- tubesync/tubesync/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tubesync/tubesync/settings.py b/tubesync/tubesync/settings.py index cce452d9..bbb93422 100644 --- a/tubesync/tubesync/settings.py +++ b/tubesync/tubesync/settings.py @@ -155,6 +155,7 @@ VIDEO_HEIGHT_IS_HD = 500 # Height in pixels to count as 'HD' YOUTUBE_DL_CACHEDIR = None +YOUTUBE_DL_TEMPDIR = None YOUTUBE_DEFAULTS = { 'no_color': True, # Do not use colours in output 'age_limit': 99, # 'Age in years' to spoof