From a7f910ecff9c239ce15fc153ff0005c5a5c76c9d Mon Sep 17 00:00:00 2001 From: PatchOfScotland Date: Wed, 15 Mar 2023 15:16:38 +0100 Subject: [PATCH] updated regex used in wildcard matching in file monitor to work on windows because why would things work on all systems --- patterns/file_event_pattern.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/patterns/file_event_pattern.py b/patterns/file_event_pattern.py index 32b4716..f069bf1 100644 --- a/patterns/file_event_pattern.py +++ b/patterns/file_event_pattern.py @@ -194,8 +194,12 @@ class WatchdogMonitor(BaseMonitor): # Use regex to match event paths against rule paths target_path = rule.pattern.triggering_path recursive_regexp = translate(target_path) - direct_regexp = recursive_regexp.replace( - '.*', '[^'+ os.path.sep +']*') + if os.name == 'nt': + direct_regexp = recursive_regexp.replace( + '.*', '[^'+ os.path.sep + os.path.sep +']*') + else: + direct_regexp = recursive_regexp.replace( + '.*', '[^'+ os.path.sep +']*') recursive_hit = match(recursive_regexp, handle_path) direct_hit = match(direct_regexp, handle_path)