|
@@ -13,6 +13,7 @@ from starlette.requests import Request
|
|
from starlette.responses import Response
|
|
from starlette.responses import Response
|
|
|
|
|
|
from . import background_tasks, context, core, json, observables
|
|
from . import background_tasks, context, core, json, observables
|
|
|
|
+from .logging import log
|
|
|
|
|
|
request_contextvar: contextvars.ContextVar[Optional[Request]] = contextvars.ContextVar('request_var', default=None)
|
|
request_contextvar: contextvars.ContextVar[Optional[Request]] = contextvars.ContextVar('request_var', default=None)
|
|
|
|
|
|
@@ -43,7 +44,11 @@ class PersistentDict(observables.ObservableDict):
|
|
|
|
|
|
def __init__(self, filepath: Path) -> None:
|
|
def __init__(self, filepath: Path) -> None:
|
|
self.filepath = filepath
|
|
self.filepath = filepath
|
|
- data = json.loads(filepath.read_text()) if filepath.exists() else {}
|
|
|
|
|
|
+ try:
|
|
|
|
+ data = json.loads(filepath.read_text()) if filepath.exists() else {}
|
|
|
|
+ except Exception:
|
|
|
|
+ log.warning(f'Could not load storage file {filepath}')
|
|
|
|
+ data = {}
|
|
super().__init__(data, on_change=self.backup)
|
|
super().__init__(data, on_change=self.backup)
|
|
|
|
|
|
def backup(self) -> None:
|
|
def backup(self) -> None:
|