From bb705ae863e2943c20500305067cd57f0986f969 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Fri, 2 Aug 2019 16:19:35 +0200 Subject: [PATCH] Fix source code reloader crash on directory modifications/file deletions --- src/Debug/DebugReloader.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Debug/DebugReloader.py b/src/Debug/DebugReloader.py index 4bc0bfbb..482c7921 100644 --- a/src/Debug/DebugReloader.py +++ b/src/Debug/DebugReloader.py @@ -31,6 +31,8 @@ class DebugReloader: event_handler.on_modified = event_handler.on_deleted = self.onChanged event_handler.on_created = event_handler.on_moved = self.onChanged for path in paths: + if not os.path.isdir(path): + continue self.log.debug("Adding autoreload: %s" % path) self.observer.schedule(event_handler, path, recursive=True) self.observer.start() @@ -44,7 +46,10 @@ class DebugReloader: if ext not in ["py", "json"] or "Test" in path or time.time() - self.last_chaged < 1.0: return False self.last_chaged = time.time() - time_modified = os.path.getmtime(path) + if os.path.isfile(path): + time_modified = os.path.getmtime(path) + else: + time_modified = 0 self.log.debug("File changed: %s reloading source code (modified %.3fs ago)" % (evt, time.time() - time_modified)) if time.time() - time_modified > 5: # Probably it's just an attribute change, ignore it return False