PetsatHF / app.py
EmilyWitko's picture
EmilyWitko HF staff
Update app.py
c576123 verified
# Import necessary library
import gradio
# Define the nested dictionary of owners and their respective pets
owner_pets = {
"Emily": {"David": "./David.jpg"},
"Sasha": {"Kikou": "./Kikou.jpg"},
# Add more owners and their pets as needed
}
import os
for owner, owned_pets in owner_pets.items():
for pet, img_path in owned_pets.items():
assert os.path.isfile(img_path), f"File '{img_path}' does not exist."
# Define your function
def your_function(owner_name, pet_name=None):
pets = owner_pets.get(owner_name)
if pets is None:
# Return the first pet image if no pet name was provided
return next((val for sublist in owner_pets.values() for val in sublist), "./download.jpeg")
pet_image = None
if pets and (pet_name is None or pet_name in pets):
pet_image = pets[pet_name]
return pet_image or "./download.jpeg"
# Define your Gradio interface
def your_gradio_function(owner_name):
print(f"Received owner name: {owner_name}")
image_path = your_function(owner_name)
print(f"Returned image path: {image_path}")
return image_path
# Create the interface
interface = gradio.Interface(fn=your_gradio_function, inputs=["text"], outputs="image")
# Launch the interface
interface.launch()
if __name__ == "__main__":
interface.input("Owner Name").send_value("Emily")
output = interface.run().result()
print(f"Image for Emily: {output}")