fix
This commit is contained in:
@@ -25,8 +25,8 @@ def test_generated_names_pass_filters():
|
|||||||
with open(PACKAGE_ROOT / "assets" / "cat_names.txt") as f:
|
with open(PACKAGE_ROOT / "assets" / "cat_names.txt") as f:
|
||||||
for i in f.readlines():
|
for i in f.readlines():
|
||||||
names.append(i.strip())
|
names.append(i.strip())
|
||||||
name_generator = namegen.NameGenerator(names, rules.validate_cat_name)
|
name_generator = namegen.NameGenerator(names, rules.validate_auto_gen_cat_name)
|
||||||
for _ in range(10000):
|
for _ in range(10000):
|
||||||
name = name_generator.generate_name()
|
name = name_generator.generate_name()
|
||||||
assert rules.validate_cat_name(name, auto_gen=True) is None
|
assert rules.validate_auto_gen_cat_name(name) is None
|
||||||
assert any(c in "aeiouy" for c in name.lower())
|
assert any(c in "aeiouy" for c in name.lower())
|
||||||
|
|||||||
@@ -35,5 +35,5 @@ class NameGenerator:
|
|||||||
def generate_name(self):
|
def generate_name(self):
|
||||||
while True:
|
while True:
|
||||||
name = self.make_name(self.model)
|
name = self.make_name(self.model)
|
||||||
if self.validate and self.validate(name, auto_gen=True) is None:
|
if self.validate and self.validate(name) is None:
|
||||||
return name
|
return name
|
||||||
|
|||||||
@@ -3,22 +3,24 @@ import string
|
|||||||
from untitled import content, model
|
from untitled import content, model
|
||||||
|
|
||||||
|
|
||||||
def validate_cat_name(name, auto_gen=False):
|
def validate_cat_name(name):
|
||||||
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) < 4 or len(name) > 9:
|
|
||||||
return "Your cat's name must be greater than 3 characters and below 9 characters long."
|
|
||||||
if not any(c in "aeiou" for c in name.lower()):
|
|
||||||
return "Your cat's name must contain a vowel."
|
|
||||||
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):
|
||||||
return "Your cat's name needs at least 1 letter."
|
return "Your cat's name needs at least 1 letter."
|
||||||
|
|
||||||
|
|
||||||
|
def validate_auto_gen_cat_name(name):
|
||||||
|
if len(name) < 4 or len(name) > 9:
|
||||||
|
return "Your cat's name must be greater than 3 characters and below 9 characters long."
|
||||||
|
if not any(c in "aeiou" for c in name.lower()):
|
||||||
|
return "Your cat's name must contain a vowel."
|
||||||
|
|
||||||
|
|
||||||
def _clamp(value, low=0, high=100):
|
def _clamp(value, low=0, high=100):
|
||||||
if value < low:
|
if value < low:
|
||||||
return low
|
return low
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ def adoption():
|
|||||||
with open(PACKAGE_ROOT / "assets" / "cat_names.txt") as f:
|
with open(PACKAGE_ROOT / "assets" / "cat_names.txt") as f:
|
||||||
for i in f.readlines():
|
for i in f.readlines():
|
||||||
names.append(i.strip())
|
names.append(i.strip())
|
||||||
name_generator = namegen.NameGenerator(names, rules.validate_cat_name)
|
name_generator = namegen.NameGenerator(names, rules.validate_auto_gen_cat_name)
|
||||||
print("Welcome to the shelter!")
|
print("Welcome to the shelter!")
|
||||||
while True:
|
while True:
|
||||||
auto_name = ""
|
auto_name = ""
|
||||||
|
|||||||
Reference in New Issue
Block a user