This commit is contained in:
2026-06-24 17:18:16 -04:00
parent 221d6021ac
commit 7d25c5677b
5 changed files with 10 additions and 46 deletions

View File

@@ -23,6 +23,6 @@ def test_cat_description_gen():
def test_generated_names_pass_filters():
for _ in range(10000):
name = generation.generate_name()
assert rules.validate_cat_name(name) is None
assert rules.validate_cat_name(name, auto_gen=True) is None
assert any(c in "aeiouy" for c in name.lower())
assert len(name) <= 9

View File

@@ -32,41 +32,3 @@ CAT_PERSONALITIES = [ # TODO: start at different happiness levels based on pers
"just wants to be somewhere else",
]
CAT_EYE_COLORS = ["green", "yellow", "blue", "orange"]
NAME_ONSETS = [
"b",
"br",
"tr",
"m",
"p",
"k",
"s",
"sk",
"wh",
"fl",
"n",
"j",
"d",
"g",
"ch",
"th",
]
NAME_VOWELS = ["a", "e", "i", "o", "u", "oo", "ee", "ai"]
NAME_CODAS = [
"",
"",
"",
"",
"",
"",
"",
"",
"n",
"x",
"ff",
"sk",
"t",
"p",
"ll",
] # empty entries = "often no coda"

View File

@@ -63,8 +63,7 @@ def generate_name():
name = _make_name(_model)
if (
any(c in "aeiou" for c in name.lower())
and len(name) <= 9
and rules.validate_cat_name(name) is None
and rules.validate_cat_name(name, auto_gen=True) is None
):
return name.capitalize()

View File

@@ -13,7 +13,7 @@ def save(save: model.Save, folder=None):
data = save.to_dict()
Path.mkdir(folder, exist_ok=True)
folder.mkdir(parents=True, exist_ok=True)
with open(save_file, "w") as f:
json.dump(data, f)

View File

@@ -1,11 +1,14 @@
import string
def validate_cat_name(name):
def validate_cat_name(name, auto_gen=False):
ALLOWED = set(string.ascii_letters + string.digits)
if not auto_gen:
if len(name) < 4 or len(name) > 24:
return "Your cat's name must be 4-24 characters long."
else:
if len(name) > 9:
return "Your cat's name must be below 9 characters long."
if not all(c in ALLOWED for c in name):
return "Your cat's name can only have letters and numbers."
if not any(c in string.ascii_letters for c in name):