Spaces:
Sleeping
Sleeping
import streamlit as st | |
class StateManager: | |
def __init__(self): | |
self.reset_state() | |
def reset_state(self): | |
"""Resets the state to its initial values.""" | |
self.current_image = None | |
self.qa_history = [] | |
self.analysis_done = False | |
self.answer_in_progress = False | |
self.caption = "" | |
self.detected_objects_str = "" | |
def set_current_image(self, image): | |
"""Sets the current image and resets relevant state variables.""" | |
try: | |
self.current_image = image | |
self.qa_history = [] | |
self.analysis_done = False | |
self.answer_in_progress = False | |
self.caption = "" | |
self.detected_objects_str = "" | |
except Exception as e: | |
print(f"Error setting current image: {e}") | |
def add_to_qa_history(self, question, answer): | |
"""Adds a question-answer pair to the history.""" | |
if question and answer: | |
self.qa_history.append((question, answer)) | |
else: | |
print("Invalid question or answer. Cannot add to history.") | |
def set_analysis_done(self, status=True): | |
"""Sets the analysis status.""" | |
self.analysis_done = status | |
def set_answer_in_progress(self, status=True): | |
"""Sets the answer in progress status.""" | |
self.answer_in_progress = status | |
def set_caption(self, caption): | |
"""Sets the image caption.""" | |
if caption: | |
self.caption = caption | |
else: | |
print("Invalid caption. Cannot set caption.") | |
def set_detected_objects_str(self, detected_objects_str): | |
"""Sets the detected objects string.""" | |
if detected_objects_str: | |
self.detected_objects_str = detected_objects_str | |
else: | |
print("Invalid detected objects string. Cannot set detected objects.") | |