Skip to content

Instantly share code, notes, and snippets.

@garaemon
Last active August 29, 2015 14:26
Show Gist options
  • Select an option

  • Save garaemon/b1716f5885be490590f9 to your computer and use it in GitHub Desktop.

Select an option

Save garaemon/b1716f5885be490590f9 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import xml.etree.ElementTree as ET
import sys
tree = ET.parse(sys.argv[1])
root = tree.getroot()
print root
def printRemappiing(node):
if len(node.findall("remap")) != 0:
print " remappings:"
for remap in node.findall("remap"):
from_attr = remap.get("from")
to_attr = remap.get("to")
print " - from:", from_attr
print " to:", to_attr
def printParams(node):
ns = node.get("name")
print """<group ns="%s">""" % (ns)
for param in node.findall("param"):
print ET.tostring(param)
for param in node.findall("rosparam"):
print ET.tostring(param)
print """</group>"""
for node in root.iter("node"):
if node.get("pkg") == "nodelet":
args = node.get("args")
if len(args.split(" ")) < 2:
continue
print "- name:", node.get("name")
nodelet_type = args.split(" ")[1]
print " type:", nodelet_type
printRemappiing(node)
elif node.get("pkg") == "jsk_pcl_ros":
print "- name:", node.get("name")
nodelet_type = node.get("type")
print " type:", "jsk_pcl/" + nodelet_type.title().replace("_", "")
printRemappiing(node)
elif node.get("pkg") == "jsk_perception":
print "- name:", node.get("name")
nodelet_type = node.get("type")
print " type:", "jsk_perception/" + nodelet_type.title().replace("_", "")
printRemappiing(node)
elif node.get("pkg") == "jsk_topic_tools" and node.get("type") != "stanadlone_complexed_nodelet":
print "- name:", node.get("name")
nodelet_type = node.get("type")
print " type:", "jsk_topic_tools/" + nodelet_type.title().replace("_", "")
printRemappiing(node)
for node in root.iter("node"):
if node.get("pkg") == "nodelet":
args = node.get("args")
if len(args.split(" ")) < 2:
continue
printParams(node)
elif node.get("pkg") == "jsk_pcl_ros":
printParams(node)
elif node.get("pkg") == "jsk_perception":
printParams(node)
elif node.get("pkg") == "jsk_topic_tools" and node.get("type") != "stanadlone_complexed_nodelet":
printParams(node)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment