Skip to content
Snippets Groups Projects
Commit 44898f30 authored by jkerdreu's avatar jkerdreu
Browse files

fix action call

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/fork@1608 b32b6428-25c9-4566-ad07-03861ab6144f
parent 18d95e9f
Branches
No related tags found
No related merge requests found
......@@ -27,7 +27,7 @@ import time
from .ansi2 import term
def usage():
print("xaal-querydb xxxx-xxxx-xxxx : display information about a given device")
print("xaal-querydb xxxx-xxxx-xxxx : display metadata for a given device")
class QueryDB:
......@@ -45,18 +45,14 @@ class QueryDB:
def query(self,addr):
""" send getDescription & getAttributes and wait for reply"""
self.target = addr
self.msgCnt = 0
self.timer = 0
mf = self.eng.msg_factory
"""
body = {'key':'foobar','value':12}
body = None
msg = mf.build_msg(self.dev,[], 'request','getDevices',body)
body = {'device': addr,}
msg = mf.build_msg(self.dev,[], 'request','getKeysValues',body)
self.eng.queue_tx(msg)
"""
"""
body = {'device': '2f31c922-01b2-4097-bfae-5753dde2cd41','key':'location'}
......@@ -64,14 +60,14 @@ class QueryDB:
self.eng.queue_tx(msg)
"""
_map = {'nickname' : 'goo','size':'small'}
""" _map = {'nickname' : 'goo','size':'small'}
body = {'device': 'ccc44227-d4fc-46eb-8578-159e2c47d000','map':_map}
msg = mf.build_msg(self.dev,[], 'request','updateKeysValues',body)
self.eng.queue_tx(msg)
"""
term('cyan')
print("** Device : [%s]" % self.target)
print("** Device : [%s]" % addr)
term()
while 1:
......@@ -79,25 +75,34 @@ class QueryDB:
if self.timer > 30:
print("TimeOut...")
break
if self.msgCnt > 1:break
if self.msgCnt == 1:break
self.timer += 1
print('\n')
def parse_answer(self,msg):
""" message parser """
if msg.is_reply():
#print(msg)
if self.addr in msg.targets:
if self.target == msg.source:
print(json.dumps(msg.body,sort_keys=True,indent=4))
self.msgCnt += 1
def main():
if len(sys.argv) == 2:
addr = sys.argv[1]
if tools.is_valid_addr(addr):
t0 = time.time()
eng = Engine()
eng.start()
dev = QueryDB(eng)
dev.query(None)
dev.query(addr)
print("Time : %0.3f sec" % (time.time() -t0))
else:
print("Invalid addr")
else:
usage()
if __name__ == '__main__':
......
......@@ -122,3 +122,6 @@ def main():
run()
except KeyboardInterrupt:
print("Bye Bye..")
if __name__=='__main__':
main()
......@@ -353,6 +353,7 @@ def run_action(msg, device):
result = None
if msg.action in methods.keys():
method = methods[msg.action]
body_params = None
if msg.body:
method_params = get_args_method(method)
body_params = msg.get_parameters()
......@@ -362,17 +363,11 @@ def run_action(msg, device):
if temp in method_params:
params.update({temp:body_params[k]})
else:
logger.info("Wrong method parameter %s for action %s" %(k, msg.action))
"""
logger.info("Wrong method parameter [%s] for action %s" %(k, msg.action))
try:
body_params = msg.get_parameters(args)
except KeyError as e:
raise XAALError("Wrong method parameter %s for action %s" %(e.message, msg.action))
for p in range(0, len(args)):
params[args[p]] = body_params[args[p]]
"""
result = method(**params)
except :
raise XAALError("Error in method:%s params:%s" % (msg.action,body_params))
else:
raise XAALError("Method %s not found" % msg.action)
return result
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment