Download app.py from OzoneAsai/Empty: direct link, hf CLI and curl.
- Browser
- Download file 2.23 kB
-
https://huggingface.co/spaces/OzoneAsai/Empty/resolve/main/app.py
- Command line
-
hf download hf://spaces/OzoneAsai/Empty/app.py
-
curl -L -o app.py https://huggingface.co/spaces/OzoneAsai/Empty/resolve/main/app.py
2.23 kB
| import streamlit as st | |
| from datetime import datetime | |
| import os | |
| # Create a directory to store messages | |
| messages_dir = "messages" | |
| if not os.path.exists(messages_dir): | |
| os.makedirs(messages_dir) | |
| # Initialize session state to store the list of threads | |
| if 'thread_list' not in st.session_state: | |
| st.session_state.thread_list = [] | |
| # Create a dictionary to store messages and threads | |
| messages = {} | |
| def create_thread(thread_id, user_input): | |
| thread = {'messages': [user_input], 'created_at': datetime.now()} | |
| messages[thread_id] = thread | |
| st.session_state.thread_list.append(thread_id) | |
| def add_message(thread_id, user_input): | |
| if thread_id in messages: | |
| messages[thread_id]['messages'].append(user_input) | |
| else: | |
| create_thread(thread_id, user_input) | |
| def save_message_to_file(thread_id, message): | |
| timestamp = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') | |
| file_name = f"{messages_dir}/{thread_id}_{timestamp}.txt" | |
| with open(file_name, 'w') as file: | |
| file.write(message) | |
| # Main app | |
| def main(): | |
| st.title("Free Board with Streamlit") | |
| # User input for creating a new thread | |
| new_thread = st.text_input("Create a new thread:", key='new_thread_input') | |
| if new_thread: | |
| create_thread(new_thread, "Thread created.") | |
| st.success(f"Thread '{new_thread}' created!") | |
| # Display existing threads | |
| st.subheader("Existing Threads") | |
| for thread_id in st.session_state.thread_list: | |
| st.write(f"- {thread_id}") | |
| # Allow user to select a thread and add messages | |
| thread_to_post = st.selectbox("Select a thread to post:", st.session_state.thread_list, key='thread_to_post') | |
| if thread_to_post: | |
| user_input = st.text_area("Write your message:", key='user_input') | |
| if user_input: | |
| add_message(thread_to_post, user_input) | |
| save_message_to_file(thread_to_post, user_input) # Save the message to a file | |
| st.success("Message added!") | |
| # Display threads and their messages | |
| for thread_id, thread_data in messages.items(): | |
| st.subheader(f"Thread: {thread_id}") | |
| for message in thread_data['messages']: | |
| st.write(f"- {message}") | |
| if __name__ == "__main__": | |
| main() |