17 import xml.etree.ElementTree
as ET
26 Parses a XML file describing a grasp. 37 parses a given tree, returns a Grasp 40 xml_filename -- the filename where the grasp is defined 41 if no filename is provided, then the default 46 self.
xml_tree = ET.parse(xml_filename)
47 except Exception, inst:
48 print "Unexpected error opening %s: %s" % (xml_filename, inst)
54 tree_grasp = tree_root.findall(
"grasp")
56 for grasp
in tree_grasp:
58 grasp_tmp.grasp_name = grasp.attrib.get(
"name")
60 print "Grasp " + grasp_tmp.grasp_name
62 joints = grasp.findall(
"joint")
64 joint_name = j.attrib.get(
"name")
65 joint_position = float(j.text)
67 print " " + joint_name +
": " + str(joint_position)
69 grasp_tmp.joints_and_positions.update(
70 {joint_name: joint_position})
72 self.
grasps.update({grasp_tmp.grasp_name: grasp_tmp})
75 if xml_filename ==
"":
78 toWrite = grasp.convert_to_xml()
79 objFileRead = open(xml_filename,
'r') 80 previous = objFileRead.readlines() 82 objFileWrite = open(xml_filename, 'w')
83 for index
in range(0, len(previous) - 1):
84 objFileWrite.write(previous[index])
85 objFileWrite.write(toWrite)
86 objFileWrite.write(
'</root>')
107 if __name__ ==
"__main__":
def write_grasp_to_file(self, grasp, xml_filename="")
def parse_tree(self, xml_filename="grasps.xml")