Exemplo n.º 1
0
    def to_doc_object(self):
        """
        Converts a DocSection into a general DocObject structure
        """
        # print("{}".format(self))
        if ds.get_identifier_for_type(self.package_t) in ds.KEYS:
            # print("DocObject for {}".format(self.name))
            if self.package_t in self.parameter_style_types and self.package_t is not Parameter:
                # print(self.package_t)
                doc_object = self.package_t(name=self.name,
                                            description=self.description,
                                            datatype=self.type_info,
                                            var_name=self.var_name)
            elif self.package_t is Parameter:
                doc_object = self.package_t(name=self.name,
                                            description=self.description,
                                            default_value=self.default_value,
                                            datatype=self.type_info,
                                            var_name=self.var_name)
            else:
                doc_object = self.package_t(name=self.name,
                                            description=self.description,
                                            var_name=self.var_name)

            for child in self.children:
                # print("Processing child '{}'".format(child))
                doc_object.children[child] = self.children[
                    child].to_doc_object()
            return doc_object
        else:
            # print(self.name)
            return [c.to_doc_object() for c in self.children.values()]
Exemplo n.º 2
0
 def __str__(self):
     out_str = ""
     prefix = self.level * " "
     out_str += prefix + "Name: " + self.name + "\n"
     out_str += prefix + "Description: " + self.description + "\n"
     out_str += prefix + "Type: " + ds.get_identifier_for_type(
         self.package_t) + "\n"
     if self.type_info:
         out_str += prefix + "msg_type: " + self.type_info + "\n"
     if self.default_value:
         out_str += prefix + "default_value: " + self.default_value + "\n"
     for key in self.children:
         out_str += prefix + key + ":\n" + str(self.children[key])
     return out_str
 def test_identifier(self):
     """Tests getting identifiers for DocObject types"""
     self.assertEqual(ds.get_identifier_for_type(Package), "package")
     self.assertEqual(ds.get_identifier_for_type(Node), "node")
     self.assertEqual(ds.get_identifier_for_type(Parameter), "parameter")
     self.assertEqual(ds.get_identifier_for_type(Service), "service")
     self.assertEqual(ds.get_identifier_for_type(ServiceClient),
                      "service_client")
     self.assertEqual(ds.get_identifier_for_type(Subscriber), "subscriber")
     self.assertEqual(ds.get_identifier_for_type(Publisher), "publisher")
     self.assertEqual(ds.get_identifier_for_type(Action), "action")
     self.assertEqual(ds.get_identifier_for_type(ActionClient),
                      "action_client")
     self.assertEqual(ds.get_identifier_for_type(LaunchArgument),
                      "launch_argument")
     self.assertEqual(ds.get_identifier_for_type(LaunchFile), "launchfile")
     self.assertEqual(ds.get_identifier_for_type(Node), "node")
     self.assertEqual(ds.get_identifier_for_type(str), "unknown")