Spaces:
Running
Running
import gradio as gr | |
import random | |
def generate_pet_name(animal_type, personality): | |
cute_prefixes = ["Fluffy", "Ziggy", "Bubbles", "Pickle", "Waffle", "Mochi", "Cookie", "Pepper"] | |
animal_suffixes = { | |
"Cat": ["Whiskers", "Paws", "Mittens", "Purrington"], | |
"Dog": ["Woofles", "Barkington", "Waggins", "Pawsome"], | |
"Bird": ["Feathers", "Wings", "Chirpy", "Tweets"], | |
"Rabbit": ["Hops", "Cottontail", "Bouncy", "Fluff"] | |
} | |
prefix = random.choice(cute_prefixes) | |
suffix = random.choice(animal_suffixes[animal_type]) | |
if personality == "Silly": | |
prefix = random.choice(["Sir", "Lady", "Captain", "Professor"]) + " " + prefix | |
elif personality == "Royal": | |
suffix += " the " + random.choice(["Great", "Magnificent", "Wise", "Brave"]) | |
return f"{prefix} {suffix}" | |
with gr.Blocks(theme=gr.themes.Soft()) as demo: | |
with gr.Sidebar(position="left"): | |
gr.Markdown("# 🐾 Pet Name Generator") | |
gr.Markdown("Use the options below to generate a unique pet name!") | |
animal_type = gr.Dropdown( | |
choices=["Cat", "Dog", "Bird", "Rabbit"], | |
label="Choose your pet type", | |
value="Cat" | |
) | |
personality = gr.Radio( | |
choices=["Normal", "Silly", "Royal"], | |
label="Personality type", | |
value="Normal" | |
) | |
name_output = gr.Textbox(label="Your pet's fancy name:", lines=2) | |
generate_btn = gr.Button("Generate Name! 🎲", variant="primary") | |
generate_btn.click( | |
fn=generate_pet_name, | |
inputs=[animal_type, personality], | |
outputs=name_output | |
) | |
if __name__ == "__main__": | |
demo.launch() | |