from sic_framework import SICComponentManager, SICMessage, utils
from sic_framework.core.component_python2 import SICComponent
from sic_framework.core.connector import SICConnector
if utils.PYTHON_VERSION_IS_2:
import qi
from naoqi import ALProxy
[docs]
class UrlMessage(SICMessage):
[docs]
def __init__(self, url):
super(UrlMessage, self).__init__()
self.url = url
[docs]
class NaoqiTabletComponent(SICComponent):
[docs]
def __init__(self, *args, **kwargs):
super(NaoqiTabletComponent, self).__init__(*args, **kwargs)
self.session = qi.Session()
self.session.connect("tcp://127.0.0.1:9559")
self.tablet_service = self.session.service("ALTabletService")
[docs]
@staticmethod
def get_output():
return SICMessage
[docs]
def on_message(self, message):
# self.logger.info("url is ", message.url)
self.tablet_service.showWebview(message.url)
[docs]
def stop(self, *args):
"""
Stop the Pepper tablet component.
"""
self.session.close()
self._stopped.set()
super(NaoqiTabletComponent, self).stop()
[docs]
class NaoqiTablet(SICConnector):
component_class = NaoqiTabletComponent
if __name__ == "__main__":
SICComponentManager([NaoqiTabletComponent])