youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 46cbda0be4bed00122a5cf43e640808e6c32222d
parent fa59f4b6a9df03d1156dd2d274295a7b3d75c059
Author: Philipp Hagemeister <phihag@phihag.de>
Date:   Tue, 27 Nov 2012 15:07:10 +0100

Minor filename encoding improvement in a common case

Diffstat:
Mtest/test_utils.py | 7+++++++
Myoutube_dl/utils.py | 3+++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/test/test_utils.py b/test/test_utils.py @@ -61,6 +61,13 @@ class TestUtil(unittest.TestCase): for fbc in forbidden: self.assertTrue(fbc not in sanitize_filename(fc, restricted=True)) + # Handle a common case more neatly + self.assertEqual(sanitize_filename(u'大声带 - Song', restricted=True), u'Song') + self.assertEqual(sanitize_filename(u'总统: Speech', restricted=True), u'Speech') + # .. but make sure the file name is never empty + self.assertTrue(sanitize_filename(u'-', restricted=True) != u'') + self.assertTrue(sanitize_filename(u':', restricted=True) != u'') + def test_ordered_set(self): self.assertEqual(orderedSet([1,1,2,3,4,4,5,6,7,3,5]), [1,2,3,4,5,6,7]) self.assertEqual(orderedSet([]), []) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py @@ -218,6 +218,9 @@ def sanitize_filename(s, restricted=False): while '__' in result: result = result.replace('__', '_') result = result.strip('_') + # Common case of "Foreign band name - English song title" + if restricted and result.startswith('-_'): + result = result[2:] if not result: result = '_' return result