Spaces:
Runtime error
Runtime error
import streamlit as st | |
from PIL import Image | |
# Placeholder image setup | |
placeholder_images = [ | |
Image.open('data/image1.jpg'), # Replace 'image1.jpg' with your placeholder image paths | |
Image.open('data/image2.jpg'), | |
Image.open('data/image3.jpg'), | |
Image.open('data/image4.jpg'), | |
Image.open('data/image5.jpg') | |
] | |
def rearrange(order): | |
dynamic_container = st.container() | |
new_image_order = [placeholder_images[int(o) - 1] for o in order if o.isdigit() and 0 < int(o) <= len(placeholder_images)] | |
new_input_order = [st.session_state.get(f"input_{o}", "") for o in order if o.isdigit() and 0 < int(o) <= len(placeholder_images)] | |
new_output_order = [st.session_state.get(f"output_{o}", "") for o in order if o.isdigit() and 0 < int(o) <= len(placeholder_images)] | |
# Update display | |
for i, o in enumerate(order): | |
if o.isdigit() and 0 < int(o) <= len(placeholder_images): | |
cols = dynamic_container.columns(3) | |
cols[0].image(new_image_order[i], width=100) | |
input_key = f"input_{o}_{i}" # Ensure unique key by including both order and index | |
output_key = f"output_{o}_{i}" # Ensure unique key by including both order and index | |
cols[1].text_input(f"Input {o}", value=new_input_order[i], key=input_key) | |
cols[2].text_area(f"Output {o}", value=new_output_order[i], height=100, key=output_key) | |
st.title("Image Rearrangement App") | |
# Overall Input | |
order = st.text_input("Enter image order (e.g., 12345, 112, 54321)", key="order_input") | |
# Validate order input | |
valid_order = order and all(o.isdigit() and 0 < int(o) <= len(placeholder_images) for o in order) | |
if valid_order: | |
# Call the rearrange function when data is present and valid | |
rearrange(order) | |
else: | |
st.error("Please enter a valid order using numbers 1-5, which can be repeated or less than 5 characters long.") |