mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-26 04:02:11 +00:00
[utils] Improve colon handling (Fixes #4683)
This commit is contained in:
parent
4340decad2
commit
2aeb06d6dc
2 changed files with 6 additions and 0 deletions
|
@ -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…
Reference in a new issue