fixes
This commit is contained in:
@@ -23,6 +23,6 @@ def test_cat_description_gen():
|
|||||||
def test_generated_names_pass_filters():
|
def test_generated_names_pass_filters():
|
||||||
for _ in range(10000):
|
for _ in range(10000):
|
||||||
name = generation.generate_name()
|
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 any(c in "aeiouy" for c in name.lower())
|
||||||
assert len(name) <= 9
|
assert len(name) <= 9
|
||||||
|
|||||||
@@ -32,41 +32,3 @@ CAT_PERSONALITIES = [ # TODO: start at different happiness levels based on pers
|
|||||||
"just wants to be somewhere else",
|
"just wants to be somewhere else",
|
||||||
]
|
]
|
||||||
CAT_EYE_COLORS = ["green", "yellow", "blue", "orange"]
|
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"
|
|
||||||
|
|||||||
@@ -63,8 +63,7 @@ def generate_name():
|
|||||||
name = _make_name(_model)
|
name = _make_name(_model)
|
||||||
if (
|
if (
|
||||||
any(c in "aeiou" for c in name.lower())
|
any(c in "aeiou" for c in name.lower())
|
||||||
and len(name) <= 9
|
and rules.validate_cat_name(name, auto_gen=True) is None
|
||||||
and rules.validate_cat_name(name) is None
|
|
||||||
):
|
):
|
||||||
return name.capitalize()
|
return name.capitalize()
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ def save(save: model.Save, folder=None):
|
|||||||
|
|
||||||
data = save.to_dict()
|
data = save.to_dict()
|
||||||
|
|
||||||
Path.mkdir(folder, exist_ok=True)
|
folder.mkdir(parents=True, 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)
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
import string
|
import string
|
||||||
|
|
||||||
|
|
||||||
def validate_cat_name(name):
|
def validate_cat_name(name, auto_gen=False):
|
||||||
ALLOWED = set(string.ascii_letters + string.digits)
|
ALLOWED = set(string.ascii_letters + string.digits)
|
||||||
|
if not auto_gen:
|
||||||
if len(name) < 4 or len(name) > 24:
|
if len(name) < 4 or len(name) > 24:
|
||||||
return "Your cat's name must be 4-24 characters long."
|
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):
|
if not all(c in ALLOWED for c in name):
|
||||||
return "Your cat's name can only have letters and numbers."
|
return "Your cat's name can only have letters and numbers."
|
||||||
if not any(c in string.ascii_letters for c in name):
|
if not any(c in string.ascii_letters for c in name):
|
||||||
|
|||||||
Reference in New Issue
Block a user