diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-05-19 04:31:30 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-05-19 04:31:30 +0600 | 
| commit | 46bc9b7d7cea2e161670e65abe42ef01d39e8957 (patch) | |
| tree | ed0ae44e8dedebe282f8e2a06d8c97b67c69aae1 | |
| parent | b78531a36abd765aa9c9df1dba1cf82dc23f8fec (diff) | |
[utils] Allow None in remove_{start,end}
| -rw-r--r-- | test/test_utils.py | 12 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 8 | 
2 files changed, 14 insertions, 6 deletions
diff --git a/test/test_utils.py b/test/test_utils.py index 520d32ff5..a697232a8 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -50,6 +50,8 @@ from youtube_dl.utils import (      sanitize_path,      prepend_extension,      replace_extension, +    remove_start, +    remove_end,      remove_quotes,      shell_quote,      smuggle_url, @@ -215,6 +217,16 @@ class TestUtil(unittest.TestCase):          self.assertEqual(replace_extension('.abc', '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):          self.assertEqual(remove_quotes(None), None)          self.assertEqual(remove_quotes('"'), '"') diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index ac60ba18c..5301d0740 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1549,15 +1549,11 @@ def setproctitle(title):  def remove_start(s, start): -    if s.startswith(start): -        return s[len(start):] -    return s +    return s[len(start):] if s is not None and s.startswith(start) else s  def remove_end(s, end): -    if s.endswith(end): -        return s[:-len(end)] -    return s +    return s[:-len(end)] if s is not None and s.endswith(end) else s  def remove_quotes(s):  | 
