import streamlit as st import os from PIL import Image import json from datetime import datetime, timedelta # File to store click history and last update timestamp HISTORY_FILE = 'click_history.json' # Initialize or load click history and last update time def init_click_history(): if os.path.exists(HISTORY_FILE): with open(HISTORY_FILE, 'r') as file: return json.load(file) else: # Initialize with all buttons set to zero clicks and current time return {"click_counts": {button: 0 for button in all_buttons}, "last_update": datetime.now().isoformat()} # Save click history and last update time def save_click_history(history): with open(HISTORY_FILE, 'w') as file: json.dump(history, file) # Update click count for a button and save history def update_click_count(button_name): history = init_click_history() history["click_counts"][button_name] += 1 history["last_update"] = datetime.now().isoformat() save_click_history(history) st.experimental_rerun() # Display buttons and handle clicks def display_buttons(): columns = st.columns(3) for i, category in enumerate(categories): with columns[i % 3]: st.markdown(f"### {category['name']}") for button in category['buttons']: if st.button(button["text"]): update_click_count(button["text"]) # Calculate time since last update def time_since_last_update(): history = init_click_history() last_update = datetime.fromisoformat(history["last_update"]) now = datetime.now() return int((now - last_update).total_seconds()) # Main categories and buttons categories = [ {"name": "Inputs", "buttons": [{"text": "📝 Text"}, {"text": "📖 Read"}, {"text": "📷 Photo"}, {"text": "đŸ–ŧī¸ View"}, {"text": "đŸŽ™ī¸ Record"}, {"text": "🎧 Listen"}, {"text": "đŸŽĨ Video"}, {"text": "📹 Capture"}]}, {"name": "Outputs", "buttons": [{"text": "đŸ’Ŧ Chat"}, {"text": "âœī¸ Write"}, {"text": "🎨 Art"}, {"text": "🌄 Create"}, {"text": "đŸŽĩ Music"}, {"text": "đŸŽļ Compose"}, {"text": "đŸ“ŧ Watch"}, {"text": "đŸŋ Movies"}]}, {"name": "Health", "buttons": [{"text": "💉 Vaccinate"}, {"text": "đŸŠē Diagnose"}, {"text": "đŸĨ Hospital"}, {"text": "🚑 Emergency"}, {"text": "💊 Meds"}, {"text": "🩹 Bandage"}, {"text": "đŸ§Ŧ DNA"}, {"text": "đŸ”Ŧ Research"}, {"text": "đŸŒĄī¸ Temperature"}, {"text": "🍏 Nutrition"}]}, {"name": "Learning", "buttons": [{"text": "📚 Study"}, {"text": "🧠 Brain"}, {"text": "👩‍🎓 Graduate"}, {"text": "📐 Measure"}, {"text": "🔍 Search"}, {"text": "📊 Analyze"}, {"text": "📋 Plan"}, {"text": "đŸ–‹ī¸ Write"}, {"text": "👨‍đŸĢ Teach"}, {"text": "🧩 Puzzle"}]}, {"name": "AI", "buttons": [{"text": "🤖 Robot"}, {"text": "👾 Game"}, {"text": "đŸ’ģ Code"}, {"text": "🧮 Calculate"}, {"text": "📡 Connect"}, {"text": "🔋 Power"}, {"text": "đŸ•šī¸ Play"}, {"text": "đŸ–Ĩī¸ Display"}, {"text": "🧑‍đŸ’ģ Develop"}, {"text": "👨‍đŸ”Ŧ Experiment"}]}, {"name": "Writing", "buttons": [{"text": "âœī¸ Author"}, {"text": "📝 Note"}, {"text": "đŸ–Šī¸ Pen"}, {"text": "đŸ–‹ī¸ Sign"}, {"text": "📚 Library"}, {"text": "🔖 Bookmark"}, {"text": "📓 Journal"}, {"text": "âœ’ī¸ Ink"}, {"text": "📜 Scroll"}]}, ] all_buttons = [button["text"] for category in categories for button in category["buttons"]] # App title st.markdown("# Remixable!!\n## Classifications") # Display all buttons display_buttons() # Show time since last update seconds_since_update = time_since_last_update() st.write(f"🕒 Time since last update: {seconds_since_update} seconds") # Placeholder function for Wikipedia content fetching # You'll need to replace this with actual fetching logic def fetch_wikipedia_summary(keyword): # Placeholder text, replace with actual Wikipedia fetching logic return f"Summary about {keyword} from Wikipedia." # Display images from the current directory and fetch related Wikipedia stories def display_images_and_wikipedia_summaries(): st.title('Gallery with Related Stories') # Scan current directory for PNG images image_files = [f for f in os.listdir('.') if f.endswith('.png')] # Check if there are any PNG images if not image_files: st.write("No PNG images found in the current directory.") return # Iterate over found images for image_file in image_files: # Open and display each image image = Image.open(image_file) st.image(image, caption=image_file, use_column_width='always') # Extract a keyword from the image file name for Wikipedia search # This is a simple example; adjust logic as needed for more complex titles keyword = image_file.split('.')[0] # Assumes keyword is the file name without extension # Fetch and display related Wikipedia content wikipedia_summary = fetch_wikipedia_summary(keyword) st.write(wikipedia_summary) # Call the function to display images and summaries display_images_and_wikipedia_summaries() import streamlit as st st.markdown('# Three Dragons 🐉🌍 Mythical Dragons Around the World by Aaron Wacker') dragons = { '#Fafnir #Norse': '- **Story**: Fafnir originally a dwarf, transformed into a fierce dragon due to his greed for the treasure he guarded. He was later slain by the hero Sigurd. - **Significance**: deadly sin of greed and the corrupting power of wealth.', '#Quetzalcoatl #Aztec': '- **Story**: Quetzalcoatl, the Feathered Serpent, is not a dragon in the traditional sense but shares many similarities. He was a deity representing wind, air, and learning. - **Significance**: creator god and a symbol of death and rebirth.', '#Tiamat #Mesopotamian': '- **Story**: Tiamat, primordial goddess of ocean, turned into a dragon-like creature in a battle against her children who threatened her authority. - **Significance**: chaos of primordial creation and is often associated with the forces of nature.' } for dragon, story in dragons.items(): st.subheader(dragon) st.markdown(f"- {story}") st.markdown(''' https://github.com/AaronCWacker/ThreeDragons ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/vkNh6XnEtGSj8mXea1W6p.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/Kr_nqtaglHE_aiFxWH9zF.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/WLRKWqB6dKlMH6saVV9cX.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/Lyazf6FuX4nH__4illVki.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/620630b603825909dcbeba35/ZemsxlT3b5idB0W5IjL1o.png) ''') st.markdown(''' # Remixable!! ## Classifications''') # Create three columns for Inputs, Outputs, and Health col1, col2, col3 = st.columns(3) with col1: st.markdown('''### Inputs''') st.button("📝 Text") st.button("📖 Read") st.button("📷 Photo") st.button("đŸ–ŧī¸ View") st.button("đŸŽ™ī¸ Record") st.button("🎧 Listen") st.button("đŸŽĨ Video") st.button("📹 Capture") with col2: st.markdown('''### Outputs''') st.button("đŸ’Ŧ Chat") st.button("âœī¸ Write") st.button("🎨 Art") st.button("🌄 Create") st.button("đŸŽĩ Music") st.button("đŸŽļ Compose") st.button("đŸ“ŧ Watch") st.button("đŸŋ Movies") with col3: st.markdown('''### Health''') st.button("💉 Vaccinate") st.button("đŸŠē Diagnose") st.button("đŸĨ Hospital") st.button("🚑 Emergency") st.button("💊 Meds") st.button("🩹 Bandage") st.button("đŸ§Ŧ DNA") st.button("đŸ”Ŧ Research") st.button("đŸŒĄī¸ Temperature") st.button("🍏 Nutrition") # Create another set of three columns for Learning, AI, and Writing col4, col5, col6 = st.columns(3) with col4: st.markdown('''### Learning''') st.button("📚 Study") st.button("🧠 Brain") st.button("👩‍🎓 Graduate") st.button("📐 Measure") st.button("🔍 Search") st.button("📊 Analyze") st.button("📋 Plan") st.button("đŸ–‹ī¸ Write") st.button("👨‍đŸĢ Teach") st.button("🧩 Puzzle") with col5: st.markdown('''### AI''') st.button("🤖 Robot") st.button("👾 Game") st.button("đŸ’ģ Code") st.button("🧮 Calculate") st.button("📡 Connect") st.button("🔋 Power") st.button("đŸ•šī¸ Play") st.button("đŸ–Ĩī¸ Display") st.button("🧑‍đŸ’ģ Develop") st.button("👨‍đŸ”Ŧ Experiment") with col6: st.markdown('''### Writing''') st.button("âœī¸ Author") st.button("📝 Note") st.button("đŸ–Šī¸ Pen") st.button("đŸ–‹ī¸ Sign") st.button("📚 Library") st.button("🔖 Bookmark") st.button("📓 Journal") st.button("âœ’ī¸ Ink") st.button("📜 Scroll") # Similarly, create columns for Coding, Remix, Movies, Video, and Audio as needed # You can continue this pattern for organizing the rest of your buttons into columns