def as_dict()

in rostran/core/parameters.py [0:0]


    def as_dict(self, format=False, metadata: MetaData = None) -> dict:
        data = {}
        keys = self.keys()
        if format and metadata:
            ros_interface = metadata.get(MetaData.ROS_INTERFACE)
            if ros_interface:
                param_groups = ros_interface.value.get(MetaItem.PARAMETER_GROUPS)
                score = 0
                key_scores = {}
                if param_groups:
                    for param_group in param_groups:
                        parameters = param_group[MetaItem.PARAMETERS]
                        for parameter in parameters:
                            if isinstance(parameter, str):
                                key_scores[parameter] = score
                                score += 1
                if key_scores:
                    keys = sorted_data(keys, scores=key_scores)

        for key in keys:
            param: Parameter = self[key]
            data.update(param.as_dict(format))
        return data