Spaces:
Running
Running
from typing import List | |
from rich.console import Console | |
from rich.prompt import Prompt | |
from setting import Settings | |
from agent import SuspicionAgent | |
class Context: | |
def __init__(self, console: Console, settings: Settings, webcontext=None) -> None: | |
self.clock: int = 0 | |
self.console: Console = console | |
self.agents: List[SuspicionAgent] = [] | |
self.user_agent: SuspicionAgent = None | |
self.robot_agents: List[SuspicionAgent] = [] | |
self.observations = ["Beginning of the day, people are living their lives."] | |
self.timewindow_size = 3 | |
self.observations_size_history = [] | |
self.settings = settings | |
self.webcontext = webcontext | |
def print(self, message: str, style: str = None): | |
if style: | |
self.console.print(message, style=style) | |
else: | |
self.console.print(message) | |
if self.webcontext: | |
self.webcontext.send_response(message) | |
def ask(self, message: str = "", choices: List[str] = None) -> str: | |
if self.webcontext: | |
return self.webcontext.ask_human(message, choices) | |
else: | |
if choices: | |
return Prompt.ask(message, choices=choices, default=choices[0]) | |
else: | |
return Prompt.ask(message) | |