diff options
author | David Lord <davidism@gmail.com> | 2020-10-28 14:50:21 -0700 |
---|---|---|
committer | David Lord <davidism@gmail.com> | 2020-10-28 14:50:21 -0700 |
commit | 98f338bd16a6ff52a56fe2cf98c3b0829bbc576b (patch) | |
tree | 05b6cd0acaf898695c070899a03e56affcc69085 | |
parent | 14719cbacd86b05a12242d2ba585245a0fcbe7fe (diff) | |
download | werkzeug-98f338bd16a6ff52a56fe2cf98c3b0829bbc576b.tar.gz |
fix reloader path split and join on Windows
-rw-r--r-- | src/werkzeug/_reloader.py | 5 | ||||
-rw-r--r-- | tests/test_serving.py | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/werkzeug/_reloader.py b/src/werkzeug/_reloader.py index c3a7b098..98a3fd67 100644 --- a/src/werkzeug/_reloader.py +++ b/src/werkzeug/_reloader.py @@ -6,6 +6,7 @@ import threading import time import typing as t from itertools import chain +from pathlib import PurePath from ._internal import _log @@ -112,7 +113,7 @@ def _find_watchdog_paths(extra_files, exclude_patterns): def _find_common_roots(paths): root = {} - for chunks in sorted((x.split(os.path.sep) for x in paths), key=len, reverse=True): + for chunks in sorted((PurePath(x).parts for x in paths), key=len, reverse=True): node = root for chunk in chunks: @@ -127,7 +128,7 @@ def _find_common_roots(paths): _walk(child, path + (prefix,)) if not node: - rv.add("/".join(path)) + rv.add(os.path.join(*path)) _walk(root, ()) return rv diff --git a/tests/test_serving.py b/tests/test_serving.py index 8be75a45..ecfa127b 100644 --- a/tests/test_serving.py +++ b/tests/test_serving.py @@ -113,7 +113,7 @@ def test_exclude_patterns(find): paths = find(set(), set()) assert any(p.startswith(sys.prefix) for p in paths) # Those paths should be excluded due to the pattern. - paths = find(set(), {f"{sys.prefix}/*"}) + paths = find(set(), {f"{sys.prefix}*"}) assert not any(p.startswith(sys.prefix) for p in paths) |