mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[utils] Improve int_or_none and float_or_none (#20403)
This commit is contained in:
		| @@ -33,11 +33,13 @@ from youtube_dl.utils import ( | ||||
|     ExtractorError, | ||||
|     find_xpath_attr, | ||||
|     fix_xml_ampersands, | ||||
|     float_or_none, | ||||
|     get_element_by_class, | ||||
|     get_element_by_attribute, | ||||
|     get_elements_by_class, | ||||
|     get_elements_by_attribute, | ||||
|     InAdvancePagedList, | ||||
|     int_or_none, | ||||
|     intlist_to_bytes, | ||||
|     is_html, | ||||
|     js_to_json, | ||||
| @@ -468,6 +470,21 @@ class TestUtil(unittest.TestCase): | ||||
|             shell_quote(args), | ||||
|             """ffmpeg -i 'ñ€ß'"'"'.mp4'""" if compat_os_name != 'nt' else '''ffmpeg -i "ñ€ß'.mp4"''') | ||||
|  | ||||
|     def test_float_or_none(self): | ||||
|         self.assertEqual(float_or_none('42.42'), 42.42) | ||||
|         self.assertEqual(float_or_none('42'), 42.0) | ||||
|         self.assertEqual(float_or_none(''), None) | ||||
|         self.assertEqual(float_or_none(None), None) | ||||
|         self.assertEqual(float_or_none([]), None) | ||||
|         self.assertEqual(float_or_none(set()), None) | ||||
|  | ||||
|     def test_int_or_none(self): | ||||
|         self.assertEqual(int_or_none('42'), 42) | ||||
|         self.assertEqual(int_or_none(''), None) | ||||
|         self.assertEqual(int_or_none(None), None) | ||||
|         self.assertEqual(int_or_none([]), None) | ||||
|         self.assertEqual(int_or_none(set()), None) | ||||
|  | ||||
|     def test_str_to_int(self): | ||||
|         self.assertEqual(str_to_int('123,456'), 123456) | ||||
|         self.assertEqual(str_to_int('123.456'), 123456) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․