mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[core] Decode environment variables with filesystem encoding (Fixes #3854, Fixes #3217, Fixes #2918)
Introduces compat versions of os.getenv and os.path.expanduser
This commit is contained in:
		| @@ -44,6 +44,9 @@ from youtube_dl.utils import ( | ||||
|     limit_length, | ||||
|     escape_rfc3986, | ||||
|     escape_url, | ||||
|     get_filesystem_encoding, | ||||
|     compat_getenv, | ||||
|     compat_expanduser, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -331,5 +334,15 @@ class TestUtil(unittest.TestCase): | ||||
|         ) | ||||
|         self.assertEqual(escape_url('http://vimeo.com/56015672#at=0'), 'http://vimeo.com/56015672#at=0') | ||||
|  | ||||
|     def test_compat_getenv(self): | ||||
|         test_str = 'тест' | ||||
|         os.environ['YOUTUBE-DL-TEST'] = test_str.encode(get_filesystem_encoding()) | ||||
|         self.assertEqual(compat_getenv('YOUTUBE-DL-TEST'), test_str) | ||||
|  | ||||
|     def test_compat_expanduser(self): | ||||
|         test_str = 'C:\Documents and Settings\тест\Application Data' | ||||
|         os.environ['HOME'] = test_str.encode(get_filesystem_encoding()) | ||||
|         self.assertEqual(compat_expanduser('~'), test_str) | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․