38 lines
797 B
Python
38 lines
797 B
Python
import json
|
|
from pathlib import Path
|
|
|
|
from untitled import PACKAGE_ROOT, model
|
|
|
|
SAVE_FOLDER = PACKAGE_ROOT / "saves"
|
|
|
|
|
|
def save(save: model.Save, folder=None):
|
|
folder = folder or SAVE_FOLDER
|
|
file_name = save.cat.name + ".kitten"
|
|
save_file = Path(folder) / file_name
|
|
|
|
data = save.to_dict()
|
|
|
|
folder.mkdir(parents=True, exist_ok=True)
|
|
|
|
with open(save_file, "w") as f:
|
|
json.dump(data, f)
|
|
|
|
|
|
def load(name, folder=None):
|
|
folder = folder or SAVE_FOLDER
|
|
file_name = name + ".kitten"
|
|
save_file = Path(folder) / file_name
|
|
|
|
with open(save_file) as f:
|
|
data = json.load(f)
|
|
|
|
save = model.Save.from_dict(data)
|
|
|
|
return save
|
|
|
|
|
|
def list_saves(folder=None):
|
|
folder = folder or SAVE_FOLDER
|
|
return [save.stem for save in folder.glob("*.kitten")]
|