diff --git a/src/python/dm/daq_web_service/service/impl/dmFileSystemEventHandler.py b/src/python/dm/daq_web_service/service/impl/dmFileSystemEventHandler.py index 0c11f0c848673ba20b0e8733f02a0aab35be499f..8cf16c853b2a1124b2885f05e744af8c7c4cba5e 100755 --- a/src/python/dm/daq_web_service/service/impl/dmFileSystemEventHandler.py +++ b/src/python/dm/daq_web_service/service/impl/dmFileSystemEventHandler.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import os +import glob from watchdog.events import FileSystemEventHandler @@ -20,18 +21,29 @@ class DmFileSystemEventHandler(FileSystemEventHandler): def on_any_event(self, event): FileSystemEventHandler.on_any_event(self, event) + self.logger.debug('File system any_event event: %s' % (event.__dict__)) def on_created(self, event): FileSystemEventHandler.on_created(self, event) + self.logger.debug('File system created event: %s' % (event.__dict__)) + + def on_moved(self, event): + FileSystemEventHandler.on_moved(self, event) + self.logger.debug('File system moved event: %s' % (event.__dict__)) def on_deleted(self, event): FileSystemEventHandler.on_deleted(self, event) + self.logger.debug('File system deleted event: %s' % (event.__dict__)) def on_modified(self, event): FileSystemEventHandler.on_modified(self, event) - filePath = event.src_path - self.logger.debug('File system modified event: %s' % (event.__dict__)) - if not event.is_directory: + if event.is_directory: + filePath = max(glob.glob(event.src_path+'*.*'), key=os.path.getctime) + self.logger.debug('File system directory modified event: %s , latest file: %s' % (event.__dict__, filePath)) + self.fileSystemObserver.fileUpdated(filePath, self.dataDirectory, self.experiment) + else: + filePath = event.src_path + self.logger.debug('File system modified event: %s' % (event.__dict__)) self.fileSystemObserver.fileUpdated(filePath, self.dataDirectory, self.experiment) def on_moved(self, event):