diff --git a/tests/test_generation.py b/tests/test_generation.py index 25aba4f..d5172c9 100644 --- a/tests/test_generation.py +++ b/tests/test_generation.py @@ -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 diff --git a/untitled/content.py b/untitled/content.py index 9983817..b0fa9f2 100644 --- a/untitled/content.py +++ b/untitled/content.py @@ -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" diff --git a/untitled/generation.py b/untitled/generation.py index 2090f8b..2c763a6 100644 --- a/untitled/generation.py +++ b/untitled/generation.py @@ -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() diff --git a/untitled/persistence.py b/untitled/persistence.py index 1bfbda2..d3d1c19 100644 --- a/untitled/persistence.py +++ b/untitled/persistence.py @@ -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) diff --git a/untitled/rules.py b/untitled/rules.py index c564a81..28f6855 100644 --- a/untitled/rules.py +++ b/untitled/rules.py @@ -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 len(name) < 4 or len(name) > 24: - return "Your cat's name must be 4-24 characters long." + 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):