from untitled import PACKAGE_ROOT, generation, model, namegen, rules, ui def adoption(): names = [] with open(PACKAGE_ROOT / "assets" / "cat_names.txt") as f: for i in f.readlines(): names.append(i.strip()) name_generator = namegen.NameGenerator(names, rules.validate_auto_gen_cat_name) print("Welcome to the shelter!") while True: auto_name = "" choice = "Reroll" while choice == "Reroll": choices = generation.generate_cat_choices() choice = ui.select( "Please choose a cat to adopt:", [ui.Choice(cat[0], cat[1]) for cat in choices] + ["Reroll"], ) while True: name = ui.text( 'Please choose a name for your cat or type "idk" to autofill a generated one:', auto_name, ) if name.lower() != "idk": auto_name = "" error = rules.validate_cat_name(name) if not error: break print(error) else: auto_name = name_generator.generate_name().capitalize() if ui.confirm( f"Do you want to adopt {name}, {generation.generate_trait_sentence(choice).lower()}?" ): break return model.Cat(name, choice)