def _save_values()

in tools/rossim/rosigen.py [0:0]


    def _save_values(self, msg):
        obj = {}
        for field in msg.get_fields_and_field_types():
            field_val = getattr(msg, field)
            if type(field_val) in self.PRIMITIVE_TYPES:
                obj[field] = field_val
            elif self._is_primitive_list(field_val):
                obj[field] = []
                for member in field_val:
                    if type(member).__module__ == numpy.__name__:
                        member = member.item()
                    obj[field].append(member)
            elif self._is_list(field_val):
                obj[field] = []
                for member in field_val:
                    obj[field].append(self._save_values(member))
            else:
                obj[field] = self._save_values(field_val)
        return obj