Support XDG base directory specification
This commit is contained in:
parent
722076a123
commit
fa55675593
2 changed files with 19 additions and 5 deletions
|
@ -113,6 +113,12 @@ def parseOpts(overrideArguments=None):
|
||||||
pass
|
pass
|
||||||
return opts
|
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_width = 80
|
||||||
max_help_position = 80
|
max_help_position = 80
|
||||||
|
|
||||||
|
@ -168,7 +174,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('--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('--no-check-certificate', action='store_true', dest='no_check_certificate', default=False, help='Suppress HTTPS certificate validation.')
|
||||||
general.add_option(
|
general.add_option(
|
||||||
'--cache-dir', dest='cachedir', default=u'~/.youtube-dl/cache',
|
'--cache-dir', dest='cachedir', default=userCacheDir,
|
||||||
help='Location in the filesystem where youtube-dl can store downloaded information permanently. %default by default')
|
help='Location in the filesystem where youtube-dl can store downloaded information permanently. %default by default')
|
||||||
general.add_option(
|
general.add_option(
|
||||||
'--no-cache-dir', action='store_const', const=None, dest='cachedir',
|
'--no-cache-dir', action='store_const', const=None, dest='cachedir',
|
||||||
|
@ -369,8 +375,12 @@ def parseOpts(overrideArguments=None):
|
||||||
else:
|
else:
|
||||||
xdg_config_home = os.environ.get('XDG_CONFIG_HOME')
|
xdg_config_home = os.environ.get('XDG_CONFIG_HOME')
|
||||||
if xdg_config_home:
|
if xdg_config_home:
|
||||||
|
userConfFile = os.path.join(xdg_config_home, 'youtube-dl', 'config')
|
||||||
|
if not os.path.isfile(userConfFile):
|
||||||
userConfFile = os.path.join(xdg_config_home, 'youtube-dl.conf')
|
userConfFile = os.path.join(xdg_config_home, 'youtube-dl.conf')
|
||||||
else:
|
else:
|
||||||
|
userConfFile = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl', 'config')
|
||||||
|
if not os.path.isfile(userConfFile):
|
||||||
userConfFile = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf')
|
userConfFile = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf')
|
||||||
systemConf = _readOptions('/etc/youtube-dl.conf')
|
systemConf = _readOptions('/etc/youtube-dl.conf')
|
||||||
userConf = _readOptions(userConfFile)
|
userConf = _readOptions(userConfFile)
|
||||||
|
|
|
@ -420,8 +420,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
# Read from filesystem cache
|
# Read from filesystem cache
|
||||||
func_id = '%s_%s_%d' % (player_type, player_id, slen)
|
func_id = '%s_%s_%d' % (player_type, player_id, slen)
|
||||||
assert os.path.basename(func_id) == func_id
|
assert os.path.basename(func_id) == func_id
|
||||||
cache_dir = self._downloader.params.get('cachedir',
|
xdg_cache_home = os.environ.get('XDG_CACHE_HOME')
|
||||||
u'~/.youtube-dl/cache')
|
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_enabled = cache_dir is not None
|
cache_enabled = cache_dir is not None
|
||||||
if cache_enabled:
|
if cache_enabled:
|
||||||
|
|
Loading…
Reference in a new issue