File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1717from string import Formatter
1818
1919from ..logger import create_logger
20+ from ..platformflags import is_windows
2021
2122logger = create_logger ()
2223
@@ -437,8 +438,9 @@ class Location:
437438 (?P<path>.+)
438439 """
439440
440- # abs_path must start with a slash.
441- abs_path_re = r"(?P<path>/.+)"
441+ abs_path_re_posix = r"(?P<path>/.+)" # abs path must start with a slash.
442+ abs_path_re_win = r"(?P<path>[a-zA-Z]:/.+)" # abs path must start with drive : slash.
443+ abs_path_re = abs_path_re_win if is_windows else abs_path_re_posix
442444
443445 # path may or may not start with a slash.
444446 abs_or_rel_path_re = r"(?P<path>.+)"
@@ -456,7 +458,8 @@ class Location:
456458
457459 rclone_re = re .compile (r"(?P<proto>rclone):(?P<path>(.*))" , re .VERBOSE )
458460
459- file_or_socket_re = re .compile (r"(?P<proto>(file|socket))://" + abs_path_re , re .VERBOSE )
461+ sep = r"/" if is_windows else r"" # on windows, an addtl. slash is needed
462+ file_or_socket_re = re .compile (r"(?P<proto>(file|socket))://" + sep + abs_path_re , re .VERBOSE )
460463
461464 local_re = re .compile (local_path_re , re .VERBOSE )
462465
Original file line number Diff line number Diff line change 88
99is_win32 = sys .platform .startswith ("win32" )
1010is_cygwin = sys .platform .startswith ("cygwin" )
11+ is_msys = sys .platform .startswith ("msys" )
12+ is_windows = is_win32 or is_cygwin or is_msys
1113
1214is_linux = sys .platform .startswith ("linux" )
1315is_freebsd = sys .platform .startswith ("freebsd" )
You can’t perform that action at this time.
0 commit comments