From a53aec0ff9e3cbff5127284bd782dcf6a492523a Mon Sep 17 00:00:00 2001 From: miruka Date: Sun, 15 Nov 2020 20:11:30 -0400 Subject: [PATCH] Fix handling of config file deleted at runtime --- src/backend/user_files.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/backend/user_files.py b/src/backend/user_files.py index 27fa5dde..3a3932a2 100644 --- a/src/backend/user_files.py +++ b/src/backend/user_files.py @@ -115,9 +115,9 @@ class UserFile: ignored = 0 for change in changes: - mtime = self.path.stat().st_mtime - if change[0] in (Change.added, Change.modified): + mtime = self.path.stat().st_mtime + if mtime == self._mtime: ignored += 1 continue @@ -129,15 +129,20 @@ class UserFile: if save: self.save() + self._mtime = mtime + elif change[0] == Change.deleted: + self._mtime = None self.data = self.default_data self._need_write = self.create_missing - self._mtime = mtime - if changes and ignored < len(changes): UserFileChanged(type(self), self.qml_data) + while not self.path.exists(): + # Prevent error spam after file gets deleted + await asyncio.sleep(0.5) + except Exception as err: # noqa LoopException(str(err), err, traceback.format_exc().rstrip())