Bläddra i källkod

Merge pull request #1085 from zauberzeug/storage

Only create storage directory if needed
Rodja Trappe 1 år sedan
förälder
incheckning
35df6df6fe
1 ändrade filer med 5 tillägg och 1 borttagningar
  1. 5 1
      nicegui/storage.py

+ 5 - 1
nicegui/storage.py

@@ -45,6 +45,11 @@ class PersistentDict(observables.ObservableDict):
         super().__init__(data, self.backup)
         super().__init__(data, self.backup)
 
 
     def backup(self) -> None:
     def backup(self) -> None:
+        if not self.filepath.exists():
+            if not self:
+                return
+            self.filepath.parent.mkdir(exist_ok=True)
+
         async def backup() -> None:
         async def backup() -> None:
             async with aiofiles.open(self.filepath, 'w') as f:
             async with aiofiles.open(self.filepath, 'w') as f:
                 await f.write(json.dumps(self))
                 await f.write(json.dumps(self))
@@ -70,7 +75,6 @@ class Storage:
 
 
     def __init__(self) -> None:
     def __init__(self) -> None:
         self.storage_dir = Path('.nicegui')
         self.storage_dir = Path('.nicegui')
-        self.storage_dir.mkdir(exist_ok=True)
         self._general = PersistentDict(self.storage_dir / 'storage_general.json')
         self._general = PersistentDict(self.storage_dir / 'storage_general.json')
         self._users: Dict[str, PersistentDict] = {}
         self._users: Dict[str, PersistentDict] = {}