[youtube] Simplify cache_dir code (#1529)
authorPhilipp Hagemeister <phihag@phihag.de>
Wed, 2 Oct 2013 06:41:03 +0000 (08:41 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Wed, 2 Oct 2013 06:41:14 +0000 (08:41 +0200)
youtube_dl/__init__.py
youtube_dl/extractor/youtube.py
youtube_dl/utils.py

index cc771ee89e7c04d607db4a684f83e4a84e21f66c..62b55798618ca6fc88bb37357741f2bfef12fa6f 100644 (file)
@@ -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',
index f3d279210c65b1b0eab82ae6cf80d8825a6697bd..9ca29a043f677a9d020c9aa3bde1b008ebadf6d2 100644 (file)
@@ -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:
index 201ed255dfacca6853f1388e5ad05b613eca4fb5..f5f9cde99b0c65363a098923e4c350182896f7f1 100644 (file)
@@ -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'))