aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--youtube_dl/__init__.py8
-rw-r--r--youtube_dl/extractor/youtube.py8
-rw-r--r--youtube_dl/utils.py6
3 files changed, 9 insertions, 13 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index cc771ee89..62b557986 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -113,12 +113,6 @@ def parseOpts(overrideArguments=None):
pass
return opts
- xdg_cache_home = os.environ.get('XDG_CACHE_HOME')
- if xdg_cache_home:
- userCacheDir = os.path.join(xdg_cache_home, 'youtube-dl')
- else:
- userCacheDir = os.path.join(os.path.expanduser('~'), '.cache', 'youtube-dl')
-
max_width = 80
max_help_position = 80
@@ -174,7 +168,7 @@ def parseOpts(overrideArguments=None):
general.add_option('--proxy', dest='proxy', default=None, help='Use the specified HTTP/HTTPS proxy', metavar='URL')
general.add_option('--no-check-certificate', action='store_true', dest='no_check_certificate', default=False, help='Suppress HTTPS certificate validation.')
general.add_option(
- '--cache-dir', dest='cachedir', default=userCacheDir,
+ '--cache-dir', dest='cachedir', default=get_cachedir(),
help='Location in the filesystem where youtube-dl can store downloaded information permanently. %default by default')
general.add_option(
'--no-cache-dir', action='store_const', const=None, dest='cachedir',
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index f3d279210..9ca29a043 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -27,6 +27,7 @@ from ..utils import (
compat_str,
clean_html,
+ get_cachedir,
get_element_by_id,
ExtractorError,
unescapeHTML,
@@ -421,12 +422,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
# Read from filesystem cache
func_id = '%s_%s_%d' % (player_type, player_id, slen)
assert os.path.basename(func_id) == func_id
- xdg_cache_home = os.environ.get('XDG_CACHE_HOME')
- if xdg_cache_home:
- userCacheDir = os.path.join(xdg_cache_home, 'youtube-dl')
- else:
- userCacheDir = os.path.join(os.path.expanduser('~'), '.cache', 'youtube-dl')
- cache_dir = self._downloader.params.get('cachedir', userCacheDir)
+ cache_dir = get_cachedir(self._downloader.params)
cache_enabled = cache_dir is not None
if cache_enabled:
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index 201ed255d..f5f9cde99 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -824,3 +824,9 @@ def intlist_to_bytes(xs):
return ''.join([chr(x) for x in xs])
else:
return bytes(xs)
+
+
+def get_cachedir(params={}):
+ cache_root = os.environ.get('XDG_CACHE_HOME',
+ os.path.expanduser('~/.cache'))
+ return params.get('cachedir', os.path.join(cache_root, 'youtube-dl'))