Spaces:
Runtime error
Runtime error
import streamlit as st | |
import time | |
import random | |
# Define the list of themes and nodes | |
themes = { | |
"Theme 1": ["Node 1.1", "Node 1.2", "Node 1.3", "Node 1.4", "Node 1.5", "Node 1.6", "Node 1.7", "Node 1.8", "Node 1.9", "Node 1.10"], | |
"Theme 2": ["Node 2.1", "Node 2.2", "Node 2.3", "Node 2.4", "Node 2.5", "Node 2.6", "Node 2.7", "Node 2.8", "Node 2.9", "Node 2.10"], | |
} | |
# Define emojis for top 1 through 10 | |
emojis = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "🔟"] | |
def spinning_model(theme, nodes, emojis): | |
output = "" | |
for i, node in enumerate(nodes): | |
output += f"{emojis[i]} {node} " | |
st.markdown(f"### {theme}\n{output}") | |
st.write("---") | |
def random_timer(countdown): | |
while countdown > 0: | |
st.write(f"Next refresh in {countdown} seconds.") | |
time.sleep(1) | |
countdown -= 1 | |
return random.sample(range(1, 11), 10) | |
st.title("Spinning Model Visualization") | |
st.write("Select themes to display the spinning model and adjust the number of seconds before the next refresh.") | |
# Add input widgets for the two themes and refresh interval | |
theme_1 = st.text_input("Theme 1:", "Theme 1") | |
theme_2 = st.text_input("Theme 2:", "Theme 2") | |
refresh_interval = st.slider("Refresh interval (in seconds):", 1, 10, 5) | |
# Get the selected themes and their nodes | |
selected_theme_1 = themes.get(theme_1, []) | |
selected_theme_2 = themes.get(theme_2, []) | |
while True: | |
# Randomly select a theme to display and shuffle the nodes | |
if random.randint(0, 1): | |
selected_theme = selected_theme_1 | |
theme = theme_1 | |
else: | |
selected_theme = selected_theme_2 | |
theme = theme_2 | |
random.shuffle(selected_theme) | |
spinning_model(theme, selected_theme, emojis) | |
selected_theme = random_timer(refresh_interval) | |