"""
NAO stub motion components.
"""
from sic_framework.core.actuator_python2 import SICActuator
from sic_framework.core.connector import SICConnector
from sic_framework.core.message_python2 import SICMessage, SICConfMessage
[docs]
class NaoStubMotionActuator(SICActuator):
"""Stub for NAO motion actuator - logs actions instead of executing them."""
[docs]
@staticmethod
def get_conf():
return SICConfMessage()
[docs]
@staticmethod
def get_output():
return SICMessage
[docs]
def execute(self, request):
"""Log the motion request instead of executing it."""
self.logger.info("NaoStub.motion: {}".format(type(request).__name__))
self.logger.debug(" Request details: {}".format(request))
return SICMessage()
[docs]
def on_message(self, message):
"""Log incoming messages."""
self.logger.info("NaoStub.motion message: {}".format(type(message).__name__))
self.logger.debug(" Message details: {}".format(message))
[docs]
class NaoStubMotionRecorderActuator(SICActuator):
"""Stub for NAO motion recorder - logs actions instead of executing them."""
[docs]
@staticmethod
def get_conf():
return SICConfMessage()
[docs]
@staticmethod
def get_output():
return SICMessage
[docs]
def execute(self, request):
"""Log the motion recorder request instead of executing it."""
self.logger.info("NaoStub.motion_recorder: {}".format(type(request).__name__))
self.logger.debug(" Request details: {}".format(request))
return SICMessage()
[docs]
def on_message(self, message):
"""Log incoming messages."""
self.logger.info("NaoStub.motion_recorder message: {}".format(type(message).__name__))
self.logger.debug(" Message details: {}".format(message))
[docs]
def stop(self):
"""Stop the Motion recorder actuator."""
self._stopped.set()
super(NaoStubMotionRecorderActuator, self).stop()
[docs]
class NaoStubMotion(SICConnector):
component_class = NaoStubMotionActuator
[docs]
class NaoStubMotionRecorder(SICConnector):
component_class = NaoStubMotionRecorderActuator