This commit is contained in:
2026-06-22 18:04:41 -04:00
parent d1c01b8d0f
commit 489b5d5c23
2 changed files with 9 additions and 7 deletions

View File

@@ -3,7 +3,7 @@ from untitled import model, persistence
def test_save_load_roundtrip(tmp_path): def test_save_load_roundtrip(tmp_path):
original = model.Save(version=1, cat=model.Cat("Mittens")) original = model.Save(version=1, cat=model.Cat("Mittens"))
persistence.save(original) persistence.save(original, tmp_path)
loaded = persistence.load("Mittens") loaded = persistence.load("Mittens", tmp_path)
assert loaded.cat.name == "Mittens" assert loaded.cat.name == "Mittens"
assert loaded.version == 1 assert loaded.version == 1

View File

@@ -6,21 +6,23 @@ from untitled import model
SAVE_FOLDER = os.path.join("untitled", "saves") SAVE_FOLDER = os.path.join("untitled", "saves")
def save(save: model.Save): def save(save: model.Save, folder=None):
folder = folder or SAVE_FOLDER
file_name = save.cat.name + ".kitten" file_name = save.cat.name + ".kitten"
save_file = os.path.join(SAVE_FOLDER, file_name) save_file = os.path.join(folder, file_name)
data = save.to_dict() data = save.to_dict()
os.makedirs(SAVE_FOLDER, exist_ok=True) os.makedirs(folder, exist_ok=True)
with open(save_file, "w") as f: with open(save_file, "w") as f:
json.dump(data, f) json.dump(data, f)
def load(name): def load(name, folder=None):
folder = folder or SAVE_FOLDER
file_name = name + ".kitten" file_name = name + ".kitten"
save_file = os.path.join(SAVE_FOLDER, file_name) save_file = os.path.join(folder, file_name)
with open(save_file) as f: with open(save_file) as f:
data = json.load(f) data = json.load(f)