[utils] Fix splitunc deprecation warning
authorSergey M․ <dstftw@gmail.com>
Thu, 16 Apr 2015 16:12:38 +0000 (22:12 +0600)
committerSergey M․ <dstftw@gmail.com>
Thu, 16 Apr 2015 16:12:38 +0000 (22:12 +0600)
youtube_dl/utils.py

index 52f0dd09aac2ef0103212086a280fc317b36b82d..e628fac810b0f5fad7b2cd4678042c4df79ecb49 100644 (file)
@@ -312,17 +312,17 @@ def sanitize_path(s):
     """Sanitizes and normalizes path on Windows"""
     if sys.platform != 'win32':
         return s
-    drive, _ = os.path.splitdrive(s)
-    unc, _ = os.path.splitunc(s)
-    unc_or_drive = unc or drive
-    norm_path = os.path.normpath(remove_start(s, unc_or_drive)).split(os.path.sep)
-    if unc_or_drive:
+    drive_or_unc, _ = os.path.splitdrive(s)
+    if sys.version_info < (2, 7) and not drive_or_unc:
+        drive_or_unc, _ = os.path.splitunc(s)
+    norm_path = os.path.normpath(remove_start(s, drive_or_unc)).split(os.path.sep)
+    if drive_or_unc:
         norm_path.pop(0)
     sanitized_path = [
         path_part if path_part in ['.', '..'] else re.sub('(?:[/<>:"\\|\\\\?\\*]|\.$)', '#', path_part)
         for path_part in norm_path]
-    if unc_or_drive:
-        sanitized_path.insert(0, unc_or_drive + os.path.sep)
+    if drive_or_unc:
+        sanitized_path.insert(0, drive_or_unc + os.path.sep)
     return os.path.join(*sanitized_path)