[utils] Allow None in remove_{start,end}

This commit is contained in:
Sergey M․ 2016-05-19 04:31:30 +06:00
parent b78531a36a
commit 46bc9b7d7c
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
2 changed files with 14 additions and 6 deletions

View File

@ -50,6 +50,8 @@ from youtube_dl.utils import (
sanitize_path, sanitize_path,
prepend_extension, prepend_extension,
replace_extension, replace_extension,
remove_start,
remove_end,
remove_quotes, remove_quotes,
shell_quote, shell_quote,
smuggle_url, smuggle_url,
@ -215,6 +217,16 @@ class TestUtil(unittest.TestCase):
self.assertEqual(replace_extension('.abc', 'temp'), '.abc.temp') self.assertEqual(replace_extension('.abc', 'temp'), '.abc.temp')
self.assertEqual(replace_extension('.abc.ext', 'temp'), '.abc.temp') self.assertEqual(replace_extension('.abc.ext', 'temp'), '.abc.temp')
def test_remove_start(self):
self.assertEqual(remove_start(None, 'A - '), None)
self.assertEqual(remove_start('A - B', 'A - '), 'B')
self.assertEqual(remove_start('B - A', 'A - '), 'B - A')
def test_remove_end(self):
self.assertEqual(remove_end(None, ' - B'), None)
self.assertEqual(remove_end('A - B', ' - B'), 'A')
self.assertEqual(remove_end('B - A', ' - B'), 'B - A')
def test_remove_quotes(self): def test_remove_quotes(self):
self.assertEqual(remove_quotes(None), None) self.assertEqual(remove_quotes(None), None)
self.assertEqual(remove_quotes('"'), '"') self.assertEqual(remove_quotes('"'), '"')

View File

@ -1549,15 +1549,11 @@ def setproctitle(title):
def remove_start(s, start): def remove_start(s, start):
if s.startswith(start): return s[len(start):] if s is not None and s.startswith(start) else s
return s[len(start):]
return s
def remove_end(s, end): def remove_end(s, end):
if s.endswith(end): return s[:-len(end)] if s is not None and s.endswith(end) else s
return s[:-len(end)]
return s
def remove_quotes(s): def remove_quotes(s):