From 086df3700d488ca071b4ed86fb06620b316578fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Fri, 27 Sep 2019 15:16:08 +0200 Subject: [PATCH] Avoid reloading IDE on inotify events from the previous write --- tfw/components/ide/ide_handler.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tfw/components/ide/ide_handler.py b/tfw/components/ide/ide_handler.py index 3a86da4..cc1d52a 100644 --- a/tfw/components/ide/ide_handler.py +++ b/tfw/components/ide/ide_handler.py @@ -39,6 +39,7 @@ class IdeHandler: self.connector = None self.filemanager = FileManager(patterns) self._initial_file = initial_file or '' + self._ignore_inotify_src = '' self.monitor = InotifyObserver( path=self.filemanager.parents, @@ -53,6 +54,9 @@ class IdeHandler: } def _reload_frontend(self, event): # pylint: disable=unused-argument + if self._ignore_inotify_src == event.src_path: + self._ignore_inotify_src = '' + return self.send_message({'key': 'ide.reload'}) @property @@ -90,6 +94,7 @@ class IdeHandler: def write(self, message): try: + self._ignore_inotify_src = message['filename'] self.filemanager.write_file(message['filename'], message['content']) except KeyError: LOG.error('You must provide a filename to write!')