aboutsummaryrefslogtreecommitdiff
path: root/sbdata/repo.py
diff options
context:
space:
mode:
Diffstat (limited to 'sbdata/repo.py')
-rw-r--r--sbdata/repo.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/sbdata/repo.py b/sbdata/repo.py
index b57062b..77568d7 100644
--- a/sbdata/repo.py
+++ b/sbdata/repo.py
@@ -1,3 +1,4 @@
+import collections
import dataclasses
import json
import os
@@ -46,6 +47,17 @@ def find_item_by_name(name: str) -> typing.Optional[Item]:
return None
+def save_modified_file(file: pathlib.Path, new_json: dict):
+ d: collections.OrderedDict = json.loads(file.read_text(), object_pairs_hook=lambda x: collections.OrderedDict(x))
+ for k, v in new_json.items():
+ d[k] = v
+ for k in d.keys():
+ if k not in new_json.keys():
+ del d[k]
+ file.write_text(json
+ .dumps(d, sort_keys=False, indent=2, ensure_ascii=False))
+
+
def load_items():
item_dir = repo_dir / 'items'
for item in item_dir.iterdir():