summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lord <davidism@gmail.com>2020-10-28 14:50:21 -0700
committerDavid Lord <davidism@gmail.com>2020-10-28 14:50:21 -0700
commit98f338bd16a6ff52a56fe2cf98c3b0829bbc576b (patch)
tree05b6cd0acaf898695c070899a03e56affcc69085
parent14719cbacd86b05a12242d2ba585245a0fcbe7fe (diff)
downloadwerkzeug-98f338bd16a6ff52a56fe2cf98c3b0829bbc576b.tar.gz
fix reloader path split and join on Windows
-rw-r--r--src/werkzeug/_reloader.py5
-rw-r--r--tests/test_serving.py2
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)