aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/utils.py
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo.valsorda@gmail.com>2012-05-09 14:47:28 +0200
committerFilippo Valsorda <filippo.valsorda@gmail.com>2012-05-09 14:47:28 +0200
commit2c288bda4235bed6927d88d9bf53ecaec18f7904 (patch)
treec5f4ca39348f1d54bcb4578b81fd44ddc87154f6 /youtube_dl/utils.py
parent0b8c922da91fb7238ea15434d6a4792da84015bf (diff)
reorganized the titles sanitizing: now title is the untouched title
and stitle is created in process_info() and is cross-filesystem sanitized by sanitize_filename(); closes #164
Diffstat (limited to 'youtube_dl/utils.py')
-rw-r--r--youtube_dl/utils.py18
1 files changed, 8 insertions, 10 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index d18073d72..ae30da53e 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -156,12 +156,6 @@ def clean_html(html):
return html
-def sanitize_title(utitle):
- """Sanitizes a video title so it could be used as part of a filename."""
- utitle = unescapeHTML(utitle)
- return utitle.replace(unicode(os.sep), u'%')
-
-
def sanitize_open(filename, open_mode):
"""Try to open the given filename, and slightly tweak it if this fails.
@@ -196,10 +190,14 @@ def timeconvert(timestr):
if timetuple is not None:
timestamp = email.utils.mktime_tz(timetuple)
return timestamp
-
-def simplify_title(title):
- expr = re.compile(ur'[^\w\d_\-]+', flags=re.UNICODE)
- return expr.sub(u'_', title).strip(u'_')
+
+def sanitize_filename(s):
+ """Sanitizes a string so it could be used as part of a filename."""
+ def replace_insane(char):
+ if char in u' .\\/|?*<>:"' or ord(char) < 32:
+ return '_'
+ return char
+ return u''.join(map(replace_insane, s)).strip('_')
def orderedSet(iterable):
""" Remove all duplicates from the input iterable """