瀏覽代碼

[utils] lookup_unit_table: Match word boundary instead of end of string

Jaime Marquínez Ferrándiz 9 年之前
父節點
當前提交
782b1b5bd1
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 2 0
      test/test_utils.py
  2. 1 1
      youtube_dl/utils.py

+ 2 - 0
test/test_utils.py

@@ -702,6 +702,8 @@ class TestUtil(unittest.TestCase):
         self.assertEqual(parse_count('1.000'), 1000)
         self.assertEqual(parse_count('1.1k'), 1100)
         self.assertEqual(parse_count('1.1kk'), 1100000)
+        self.assertEqual(parse_count('1.1kk '), 1100000)
+        self.assertEqual(parse_count('1.1kk views'), 1100000)
 
     def test_version_tuple(self):
         self.assertEqual(version_tuple('1'), (1,))

+ 1 - 1
youtube_dl/utils.py

@@ -1346,7 +1346,7 @@ def format_bytes(bytes):
 def lookup_unit_table(unit_table, s):
     units_re = '|'.join(re.escape(u) for u in unit_table)
     m = re.match(
-        r'(?P<num>[0-9]+(?:[,.][0-9]*)?)\s*(?P<unit>%s)$' % units_re, s)
+        r'(?P<num>[0-9]+(?:[,.][0-9]*)?)\s*(?P<unit>%s)\b' % units_re, s)
     if not m:
         return None
     num_str = m.group('num').replace(',', '.')