[utils] Improve colon handling (Fixes #4683)

pull/8/head
Philipp Hagemeister 10 years ago
parent 4340decad2
commit 2aeb06d6dc

@ -79,6 +79,10 @@ class TestUtil(unittest.TestCase):
tests = '\u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430' tests = '\u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430'
self.assertEqual(sanitize_filename(tests), tests) self.assertEqual(sanitize_filename(tests), tests)
self.assertEqual(
sanitize_filename('New World record at 0:12:34'),
'New World record at 0_12_34')
forbidden = '"\0\\/' forbidden = '"\0\\/'
for fc in forbidden: for fc in forbidden:
for fbc in forbidden: for fbc in forbidden:

@ -287,6 +287,8 @@ def sanitize_filename(s, restricted=False, is_id=False):
return '_' return '_'
return char return char
# Handle timestamps
s = re.sub(r'[0-9]+(?::[0-9]+)+', lambda m: m.group(0).replace(':', '_'), s)
result = ''.join(map(replace_insane, s)) result = ''.join(map(replace_insane, s))
if not is_id: if not is_id:
while '__' in result: while '__' in result:

Loading…
Cancel
Save