diff --git a/tubesync/sync/youtube.py b/tubesync/sync/youtube.py index 0bdb2a49..63a20815 100644 --- a/tubesync/sync/youtube.py +++ b/tubesync/sync/youtube.py @@ -11,7 +11,13 @@ from common.logger import log import youtube_dl +_youtubedl_cachdir = getattr(settings, 'YOUTUBE_DL_CACHEDIR', None) _defaults = getattr(settings, 'YOUTUBE_DEFAULTS', {}) +if _youtubedl_cachdir: + _youtubedl_cachdir = str(_youtubedl_cachdir) + if os.path.isdir(_youtubedl_cachdir): + _defaults['cachedir'] = _youtubedl_cachdir + class YouTubeError(youtube_dl.utils.DownloadError): diff --git a/tubesync/tubesync/local_settings.py.container b/tubesync/tubesync/local_settings.py.container index f571b53f..636d69bc 100644 --- a/tubesync/tubesync/local_settings.py.container +++ b/tubesync/tubesync/local_settings.py.container @@ -29,3 +29,4 @@ DATABASES = { MEDIA_ROOT = CONFIG_BASE_DIR / 'media' DOWNLOAD_ROOT = DOWNLOADS_BASE_DIR +YOUTUBE_DL_CACHEDIR = CONFIG_BASE_DIR / 'cache' diff --git a/tubesync/tubesync/settings.py b/tubesync/tubesync/settings.py index 8defa435..9ba9ac1e 100644 --- a/tubesync/tubesync/settings.py +++ b/tubesync/tubesync/settings.py @@ -138,6 +138,7 @@ VIDEO_HEIGHT_CUTOFF = 360 # Smallest resolution in pixels permitted to dow VIDEO_HEIGHT_IS_HD = 500 # Height in pixels to count as 'HD' +YOUTUBE_DL_CACHEDIR = None YOUTUBE_DEFAULTS = { 'no_color': True, # Do not use colours in output 'age_limit': 99, # 'Age in years' to spoof