aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-10-02 08:41:03 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2013-10-02 08:41:14 +0200
commitc38b1e776dcc525b6fbe0660c484f1d50d2e0165 (patch)
treeb956c4d52962f9d6702ad906c1ff465b8ba52fde
parent4f8bf17f23e2366205d8670fc9af2568063f7e89 (diff)
downloadyoutube-dl-c38b1e776dcc525b6fbe0660c484f1d50d2e0165.tar.xz
[youtube] Simplify cache_dir code (#1529)
-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'))