Source code for smartbot_irl.robot.smartbot
from typing import Type
from ..data import SensorData
from typing import overload, Literal, Union
from .smartbot_sim import SmartBotSim
from .smartbot_real import SmartBotReal
from .smartbot_base import SmartBotBase
@overload
def SmartBot(mode: Literal["real"], drawing: bool = False, **kwargs) -> SmartBotReal: ...
@overload
def SmartBot(mode: Literal["sim"], drawing: bool = False, **kwargs) -> SmartBotSim: ...
[docs]
def SmartBot(
mode: str = "real", drawing: bool = False, **kwargs
) -> Union[SmartBotReal, SmartBotSim]:
"""Factory that returns a SmartBotReal or SmartBotSim instance."""
if mode == "sim":
return SmartBotSim(drawing=drawing, **kwargs)
else:
return SmartBotReal(drawing=drawing, **kwargs)