X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=blobdiff_plain;f=youtube_dl%2Fcache.py;h=7bdade1bdb49a7406457688400830a91a98ef186;hp=6cae53d221d9e6fbc2346adcd186e54473878ddd;hb=6cd452acffe8d79c895a2ebd0346e2ba7f9e112f;hpb=a0e07d31616102ac905c0519474d2c01db7ee392 diff --git a/youtube_dl/cache.py b/youtube_dl/cache.py index 6cae53d22..7bdade1bd 100644 --- a/youtube_dl/cache.py +++ b/youtube_dl/cache.py @@ -8,7 +8,9 @@ import re import shutil import traceback +from .compat import compat_getenv from .utils import ( + expand_path, write_json_file, ) @@ -20,13 +22,14 @@ class Cache(object): def _get_root_dir(self): res = self._ydl.params.get('cachedir') if res is None: - cache_root = os.environ.get('XDG_CACHE_HOME', '~/.cache') + cache_root = compat_getenv('XDG_CACHE_HOME', '~/.cache') res = os.path.join(cache_root, 'youtube-dl') - return os.path.expanduser(res) + return expand_path(res) def _get_cache_fn(self, section, key, dtype): - assert re.match(r'^[a-zA-Z0-9_-]+$', section) - assert re.match(r'^[a-zA-Z0-9_-]+$', key) + assert re.match(r'^[a-zA-Z0-9_.-]+$', section), \ + 'invalid section %r' % section + assert re.match(r'^[a-zA-Z0-9_.-]+$', key), 'invalid key %r' % key return os.path.join( self._get_root_dir(), section, '%s.%s' % (key, dtype))