def as_dict()

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


    def as_dict(self, format=False):
        if not format and self.orig_data:
            data = {k: v for k, v in self.orig_data.items() if v is not None}
        else:
            data = {self.TYPE: self.type}
            if self.label is not None:
                data.update({self.LABEL: self.label})
            if self.description is not None:
                data.update({self.DESCRIPTION: self.description})
            if self.constraint_description is not None:
                data.update({self.CONSTRAINT_DESCRIPTION: self.constraint_description})
            if self.association_property is not None:
                data.update({self.ASSOCIATION_PROPERTY: self.association_property})
            if self.association_property_metadata is not None:
                data.update(
                    {
                        self.ASSOCIATION_PROPERTY_METADATA: self.association_property_metadata
                    }
                )
            if self.default is not None:
                default = None if self.default is self.NULL else self.default
                data.update({self.DEFAULT: default})
            if self.allowed_values is not None:
                data.update({self.ALLOWED_VALUES: self.allowed_values})
            if self.allowed_pattern is not None:
                data.update({self.ALLOWED_PATTERN: self.allowed_pattern})
            if self.min_length is not None:
                data.update({self.MIN_LENGTH: self.min_length})
            if self.max_length is not None:
                data.update({self.MAX_LENGTH: self.max_length})
            if self.min_value is not None:
                data.update({self.MIN_VALUE: self.min_value})
            if self.max_value is not None:
                data.update({self.MAX_VALUE: self.max_value})
            if self.no_echo is not None:
                data.update({self.NO_ECHO: self.no_echo})
            if self.confirm is not None:
                data.update({self.CONFIRM: self.confirm})
            if self.text_area is not None:
                data.update({self.TEXT_AREA: self.text_area})
        return {self.name: data}