mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[utils] sanitize_path: Fix some incorrect behavior (#11923)
				
					
				
			Authored by: Grub4K
This commit is contained in:
		| @@ -685,7 +685,8 @@ def _sanitize_path_parts(parts): | ||||
|         elif part == '..': | ||||
|             if sanitized_parts and sanitized_parts[-1] != '..': | ||||
|                 sanitized_parts.pop() | ||||
|             sanitized_parts.append('..') | ||||
|             else: | ||||
|                 sanitized_parts.append('..') | ||||
|             continue | ||||
|         # Replace invalid segments with `#` | ||||
|         # - trailing dots and spaces (`asdf...` => `asdf..#`) | ||||
| @@ -702,7 +703,8 @@ def sanitize_path(s, force=False): | ||||
|         if not force: | ||||
|             return s | ||||
|         root = '/' if s.startswith('/') else '' | ||||
|         return root + '/'.join(_sanitize_path_parts(s.split('/'))) | ||||
|         path = '/'.join(_sanitize_path_parts(s.split('/'))) | ||||
|         return root + path if root or path else '.' | ||||
| 
 | ||||
|     normed = s.replace('/', '\\') | ||||
| 
 | ||||
| @@ -721,7 +723,8 @@ def sanitize_path(s, force=False): | ||||
|         root = '\\' if normed[:1] == '\\' else '' | ||||
|         parts = normed.split('\\') | ||||
| 
 | ||||
|     return root + '\\'.join(_sanitize_path_parts(parts)) | ||||
|     path = '\\'.join(_sanitize_path_parts(parts)) | ||||
|     return root + path if root or path else '.' | ||||
| 
 | ||||
| 
 | ||||
| def sanitize_url(url, *, scheme='http'): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Simon Sawicki
					Simon Sawicki