Browse Source

[utils] Fix url_basename

Philipp Hagemeister 11 năm trước cách đây
mục cha
commit
d6c7a367e8
2 tập tin đã thay đổi với 4 bổ sung1 xóa
  1. 3 0
      test/test_utils.py
  2. 1 1
      youtube_dl/utils.py

+ 3 - 0
test/test_utils.py

@@ -188,6 +188,9 @@ class TestUtil(unittest.TestCase):
         self.assertEqual(url_basename(u'http://foo.de/bar/baz?x=y'), u'baz')
         self.assertEqual(url_basename(u'http://foo.de/bar/baz?x=y'), u'baz')
         self.assertEqual(url_basename(u'http://foo.de/bar/baz#x=y'), u'baz')
         self.assertEqual(url_basename(u'http://foo.de/bar/baz#x=y'), u'baz')
         self.assertEqual(url_basename(u'http://foo.de/bar/baz/'), u'baz')
         self.assertEqual(url_basename(u'http://foo.de/bar/baz/'), u'baz')
+        self.assertEqual(
+            url_basename(u'http://media.w3.org/2010/05/sintel/trailer.mp4'),
+            u'trailer.mp4')
 
 
 if __name__ == '__main__':
 if __name__ == '__main__':
     unittest.main()
     unittest.main()

+ 1 - 1
youtube_dl/utils.py

@@ -1087,7 +1087,7 @@ def remove_start(s, start):
 
 
 
 
 def url_basename(url):
 def url_basename(url):
-    m = re.match(r'(?:https?:|)//[^/]+/(?:[^/?#]+/)?([^/?#]+)/?(?:[?#]|$)', url)
+    m = re.match(r'(?:https?:|)//[^/]+/(?:[^?#]+/)?([^/?#]+)/?(?:[?#]|$)', url)
     if not m:
     if not m:
         return u''
         return u''
     return m.group(1)
     return m.group(1)