mirror of
				https://github.com/avatao-content/baseimage-tutorial-framework
				synced 2025-11-04 07:42:54 +00:00 
			
		
		
		
	Avoid reloading IDE on inotify events from the previous write
This commit is contained in:
		@@ -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!')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user