Core: only store persistent changes if there are changes (#5311)
This commit is contained in:
6
Utils.py
6
Utils.py
@@ -323,11 +323,13 @@ def get_options() -> Settings:
|
|||||||
return get_settings()
|
return get_settings()
|
||||||
|
|
||||||
|
|
||||||
def persistent_store(category: str, key: str, value: typing.Any):
|
def persistent_store(category: str, key: str, value: typing.Any, force_store: bool = False):
|
||||||
path = user_path("_persistent_storage.yaml")
|
|
||||||
storage = persistent_load()
|
storage = persistent_load()
|
||||||
|
if not force_store and category in storage and key in storage[category] and storage[category][key] == value:
|
||||||
|
return # no changes necessary
|
||||||
category_dict = storage.setdefault(category, {})
|
category_dict = storage.setdefault(category, {})
|
||||||
category_dict[key] = value
|
category_dict[key] = value
|
||||||
|
path = user_path("_persistent_storage.yaml")
|
||||||
with open(path, "wt") as f:
|
with open(path, "wt") as f:
|
||||||
f.write(dump(storage, Dumper=Dumper))
|
f.write(dump(storage, Dumper=Dumper))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user