[util] Move compatibility functions out of util
[youtube-dl] / youtube_dl / cache.py
index 6cae53d221d9e6fbc2346adcd186e54473878ddd..2d9b426cb5e1d33bd64015a0d47ba80a5074403c 100644 (file)
@@ -8,9 +8,8 @@ import re
 import shutil
 import traceback
 
-from .utils import (
-    write_json_file,
-)
+from .compat import compat_expanduser
+from .utils import write_json_file
 
 
 class Cache(object):
@@ -22,11 +21,12 @@ class Cache(object):
         if res is None:
             cache_root = os.environ.get('XDG_CACHE_HOME', '~/.cache')
             res = os.path.join(cache_root, 'youtube-dl')
-        return os.path.expanduser(res)
+        return compat_expanduser(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))