This commit is contained in:
2026-06-22 17:50:56 -04:00
parent f95719a7ab
commit 6ad31b63bf
8 changed files with 175 additions and 3 deletions

1
untitled/__init__.py Normal file
View File

@@ -0,0 +1 @@
# hi!

0
untitled/app.py Normal file
View File

23
untitled/model.py Normal file
View File

@@ -0,0 +1,23 @@
class Cat:
def __init__(self, name):
self.name = name
def to_dict(self):
return {"name": self.name}
@staticmethod
def from_dict(data):
return Cat(data["name"])
class Save:
def __init__(self, version, cat: Cat):
self.version = version
self.cat = cat
def to_dict(self):
return {"version": self.version, "cat": self.cat.to_dict()}
@staticmethod
def from_dict(data):
return Save(data["version"], Cat.from_dict(data["cat"]))

29
untitled/persistence.py Normal file
View File

@@ -0,0 +1,29 @@
from untitled import model
import os
import json
SAVE_FOLDER = os.path.join("untitled", "saves")
def save(save: model.Save):
file_name = save.cat.name + ".kitten"
save_file = os.path.join(SAVE_FOLDER, file_name)
data = save.to_dict()
os.makedirs(SAVE_FOLDER, exist_ok=True)
with open(save_file, "w") as f:
json.dump(data, f)
def load(name):
file_name = name + ".kitten"
save_file = os.path.join(SAVE_FOLDER, file_name)
with open(save_file, "r") as f:
data = json.load(f)
save = model.Save.from_dict(data)
return save