From db9055aab6be02bebae76ff5f5c09eb46f67ddec Mon Sep 17 00:00:00 2001 From: Oleg Dzhimiev Date: Fri, 4 Jan 2019 15:54:58 -0700 Subject: [PATCH] html.escape and request format --- src/init/ros2_master.py | 8 +++++--- src/init/ros2_slave.py | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/init/ros2_master.py b/src/init/ros2_master.py index ff8ea2c..6be53bb 100644 --- a/src/init/ros2_master.py +++ b/src/init/ros2_master.py @@ -20,15 +20,17 @@ def parse_command(string): e = ET.fromstring(string) tmp = e.find('cmd') - if tmp!=None: + if tmp!=None and tmp.text!=None: # have to escape: & msg['cmd'] = html.escape(tmp.text) else: msg['cmd'] = 'state' - tmp = e.findall('target') + tmp = e.find('targets') - if not tmp: + if tmp!=None and tmp.text!=None: + msg['targets'] = tmp.text.split(",") + else: msg['targets'] = clients return msg diff --git a/src/init/ros2_slave.py b/src/init/ros2_slave.py index dfb6b77..b704e07 100644 --- a/src/init/ros2_slave.py +++ b/src/init/ros2_slave.py @@ -2,6 +2,7 @@ import subprocess import xml.etree.ElementTree as ET +import html import rclpy from elphel_interfaces.srv import StrReqStrRes @@ -40,7 +41,7 @@ def cmd_callback(req,res): except subprocess.CalledProcessError: output = "CalledProcessError".encode() - res.response = ''+output.decode()+'' + res.response = ''+html.escape(output.decode())+'' print('Slave sending: '+res.response) -- 2.18.1