diff --git a/test/test_div.py b/test/test_div.py new file mode 100644 index 000000000..367780ed3 --- /dev/null +++ b/test/test_div.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +# Various small unit tests + +import os,sys +sys.path.append(os.path.dirname(os.path.dirname(__file__))) + +import youtube_dl + +def test_simplify_title(): + assert youtube_dl._simplify_title('abc') == 'abc' + assert youtube_dl._simplify_title('abc_d-e') == 'abc_d-e' + + assert '/' not in youtube_dl._simplify_title('abc/de') + assert 'abc' in youtube_dl._simplify_title('abc/de') + assert 'de' in youtube_dl._simplify_title('abc/de') + + assert '\\' not in youtube_dl._simplify_title('abc\\de') + assert 'abc' in youtube_dl._simplify_title('abc\\de') + assert 'de' in youtube_dl._simplify_title('abc\\de') + diff --git a/youtube-dl b/youtube-dl index a5af555ff..8fc320cbf 100755 --- a/youtube-dl +++ b/youtube-dl @@ -279,6 +279,8 @@ def timeconvert(timestr): timestamp = email.utils.mktime_tz(timetuple) return timestamp +def _simplify_title(title): + return re.sub(ur'[^\w\d_\-]+', u'_', title) class DownloadError(Exception): """Download Error exception. diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index a5af555ff..8fc320cbf 100755 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -279,6 +279,8 @@ def timeconvert(timestr): timestamp = email.utils.mktime_tz(timetuple) return timestamp +def _simplify_title(title): + return re.sub(ur'[^\w\d_\-]+', u'_', title) class DownloadError(Exception): """Download Error exception.