Skip to content

Commit 35350ee

Browse files
committed
Combine service message creation
1 parent 86edb09 commit 35350ee

File tree

1 file changed

+9
-17
lines changed

1 file changed

+9
-17
lines changed

ipynao/nao_robot.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from ipywidgets import DOMWidget
1212
from traitlets import Unicode, Integer
1313
from ._frontend import module_name, module_version
14-
from time import sleep
1514
import asyncio
1615

1716

@@ -25,28 +24,22 @@ def __init__(self, widget, service_name):
2524
self.name = service_name
2625
self.widget = widget
2726

28-
29-
def create_service_msg(self, method_name, *args, **kwargs):
27+
def _create_msg(self, method_name, *args, **kwargs):
3028
data = {}
3129
data["command"] = "callService"
3230
data["service"] = str(self.name)
3331
data["method"] = str(method_name)
3432
# convert tuple to list to avoid empty arg values
3533
data["args"] = list(args)
3634
data["kwargs"] = kwargs
37-
35+
return data
36+
37+
def call_service(self, method_name, *args, **kwargs):
38+
data = self._create_msg(method_name, *args, **kwargs)
3839
self.widget.send(data)
3940

40-
# TODO: combine msg creating into separate function
41-
async def async_create_service_msg(self, method_name, *args, **kwargs):
42-
data = {}
43-
data["command"] = "callService"
44-
data["service"] = str(self.name)
45-
data["method"] = str(method_name)
46-
# convert tuple to list to avoid empty arg values
47-
data["args"] = list(args)
48-
data["kwargs"] = kwargs
49-
41+
async def async_call_service(self, method_name, *args, **kwargs):
42+
data = self._create_msg(method_name, *args, **kwargs)
5043
self.widget.send(data)
5144

5245
try:
@@ -57,11 +50,10 @@ async def async_create_service_msg(self, method_name, *args, **kwargs):
5750

5851

5952
def __getattr__(self, method_name):
60-
# TODO: add error for when service is not ready
6153
if (method_name[:6] == "async_"):
62-
return lambda *x, **y: self.async_create_service_msg(method_name[6:], *x, **y)
54+
return lambda *x, **y: self.async_call_service(method_name[6:], *x, **y)
6355
else:
64-
return lambda *x, **y: self.create_service_msg(method_name, *x, **y)
56+
return lambda *x, **y: self.call_service(method_name, *x, **y)
6557

6658

6759
class NaoRobotWidget(DOMWidget):

0 commit comments

Comments
 (0)