Spaces:
Runtime error
Runtime error
Download storage/fallback_storage.py from cryogenic22/Stock_Agent_optimized: direct link, hf CLI and curl.
- Browser
- Download file 2.31 kB
-
https://huggingface.co/spaces/cryogenic22/Stock_Agent_optimized/resolve/main/storage/fallback_storage.py
- Command line
-
hf download hf://spaces/cryogenic22/Stock_Agent_optimized/storage/fallback_storage.py
-
curl -L -o fallback_storage.py https://huggingface.co/spaces/cryogenic22/Stock_Agent_optimized/resolve/main/storage/fallback_storage.py
2.31 kB
| # storage/fallback_storage.py | |
| import streamlit as st | |
| from datetime import datetime | |
| class FallbackStorageManager: | |
| """Fallback storage using Streamlit session state when persistent storage isn't available""" | |
| def init_session_storage(): | |
| """Initialize session storage""" | |
| if 'fallback_storage' not in st.session_state: | |
| st.session_state.fallback_storage = { | |
| 'chats': [], | |
| 'images': {}, | |
| 'context': {} | |
| } | |
| def save_chat(chat_data, images=None): | |
| """Save chat to session state""" | |
| FallbackStorageManager.init_session_storage() | |
| chat_id = f"chat_{datetime.now().strftime('%Y%m%d_%H%M%S')}" | |
| # Store chat data | |
| chat_data['id'] = chat_id | |
| st.session_state.fallback_storage['chats'].append(chat_data) | |
| # Store images | |
| if images: | |
| st.session_state.fallback_storage['images'][chat_id] = images | |
| return chat_id | |
| def get_all_chats(): | |
| """Get all chats from session state""" | |
| FallbackStorageManager.init_session_storage() | |
| return sorted( | |
| st.session_state.fallback_storage['chats'], | |
| key=lambda x: x.get('timestamp', ''), | |
| reverse=True | |
| ) | |
| def get_chat(chat_id): | |
| """Get specific chat with images""" | |
| FallbackStorageManager.init_session_storage() | |
| # Find chat | |
| chat = next( | |
| (chat for chat in st.session_state.fallback_storage['chats'] | |
| if chat.get('id') == chat_id), | |
| None | |
| ) | |
| if chat: | |
| # Add images if they exist | |
| chat['images'] = st.session_state.fallback_storage['images'].get(chat_id, []) | |
| return chat | |
| def save_context(context_data): | |
| """Save context to session state""" | |
| FallbackStorageManager.init_session_storage() | |
| st.session_state.fallback_storage['context'] = context_data | |
| def get_context(): | |
| """Get context from session state""" | |
| FallbackStorageManager.init_session_storage() | |
| return st.session_state.fallback_storage.get('context') |