Skip to content

Commit 8be7142

Browse files
authored
Add directory support to file watcher (#375)
Listen to delete events on directories and delete images accordingly.
1 parent fd067bb commit 8be7142

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

backend/webserver/watcher.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,18 @@ def __init__(self, pattern=None):
1818
def on_any_event(self, event):
1919

2020
path = event.dest_path if event.event_type == "moved" else event.src_path
21-
21+
22+
if event.is_directory:
23+
# Listen to directory events as some file systems don't generate
24+
# per-file `deleted` events when moving/deleting directories
25+
if event.event_type == 'deleted':
26+
self._log(f'Deleting images from database {path}')
27+
ImageModel.objects(path=re.compile('^' + re.escape(path))).delete()
28+
return
29+
2230
if (
23-
event.is_directory
2431
# check if its a hidden file
25-
or bool(re.search(r'\/\..*?\/', path))
32+
bool(re.search(r'\/\..*?\/', path))
2633
or not path.lower().endswith(self.pattern)
2734
):
2835
return

0 commit comments

Comments
 (0)