[utils] Introduce expand_path
This commit is contained in:
parent
fb4fc44928
commit
51098426b8
@ -56,6 +56,7 @@ from youtube_dl.utils import (
|
|||||||
read_batch_urls,
|
read_batch_urls,
|
||||||
sanitize_filename,
|
sanitize_filename,
|
||||||
sanitize_path,
|
sanitize_path,
|
||||||
|
expand_path,
|
||||||
prepend_extension,
|
prepend_extension,
|
||||||
replace_extension,
|
replace_extension,
|
||||||
remove_start,
|
remove_start,
|
||||||
@ -95,6 +96,8 @@ from youtube_dl.utils import (
|
|||||||
from youtube_dl.compat import (
|
from youtube_dl.compat import (
|
||||||
compat_chr,
|
compat_chr,
|
||||||
compat_etree_fromstring,
|
compat_etree_fromstring,
|
||||||
|
compat_getenv,
|
||||||
|
compat_setenv,
|
||||||
compat_urlparse,
|
compat_urlparse,
|
||||||
compat_parse_qs,
|
compat_parse_qs,
|
||||||
)
|
)
|
||||||
@ -214,6 +217,13 @@ class TestUtil(unittest.TestCase):
|
|||||||
self.assertEqual(sanitize_path('./abc'), 'abc')
|
self.assertEqual(sanitize_path('./abc'), 'abc')
|
||||||
self.assertEqual(sanitize_path('./../abc'), '..\\abc')
|
self.assertEqual(sanitize_path('./../abc'), '..\\abc')
|
||||||
|
|
||||||
|
def test_expand_path(self):
|
||||||
|
compat_setenv('YOUTUBE-DL-EXPATH-PATH', 'expanded')
|
||||||
|
self.assertEqual(expand_path('%YOUTUBE-DL-EXPATH-PATH%'), 'expanded')
|
||||||
|
self.assertEqual(expand_path('%HOMEPATH%'), compat_getenv('HOMEPATH'))
|
||||||
|
self.assertEqual(expand_path('~'), compat_getenv('HOME'))
|
||||||
|
self.assertEqual(expand_path('~/%YOUTUBE-DL-EXPATH-PATH%'), '%s/expanded' % compat_getenv('HOME'))
|
||||||
|
|
||||||
def test_prepend_extension(self):
|
def test_prepend_extension(self):
|
||||||
self.assertEqual(prepend_extension('abc.ext', 'temp'), 'abc.temp.ext')
|
self.assertEqual(prepend_extension('abc.ext', 'temp'), 'abc.temp.ext')
|
||||||
self.assertEqual(prepend_extension('abc.ext', 'temp', 'ext'), 'abc.temp.ext')
|
self.assertEqual(prepend_extension('abc.ext', 'temp', 'ext'), 'abc.temp.ext')
|
||||||
|
@ -39,6 +39,7 @@ from .compat import (
|
|||||||
compat_basestring,
|
compat_basestring,
|
||||||
compat_chr,
|
compat_chr,
|
||||||
compat_etree_fromstring,
|
compat_etree_fromstring,
|
||||||
|
compat_expanduser,
|
||||||
compat_html_entities,
|
compat_html_entities,
|
||||||
compat_html_entities_html5,
|
compat_html_entities_html5,
|
||||||
compat_http_client,
|
compat_http_client,
|
||||||
@ -539,6 +540,11 @@ def sanitized_Request(url, *args, **kwargs):
|
|||||||
return compat_urllib_request.Request(sanitize_url(url), *args, **kwargs)
|
return compat_urllib_request.Request(sanitize_url(url), *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def expand_path(s):
|
||||||
|
"""Expand shell variables and ~"""
|
||||||
|
return os.path.expandvars(compat_expanduser(s))
|
||||||
|
|
||||||
|
|
||||||
def orderedSet(iterable):
|
def orderedSet(iterable):
|
||||||
""" Remove all duplicates from the input iterable """
|
""" Remove all duplicates from the input iterable """
|
||||||
res = []
|
res = []
|
||||||
|
Loading…
Reference in New Issue
Block a user