kmip/services/server/engine.py
def _process_template_attribute(self, template_attribute):
        """
        Given a kmip.core TemplateAttribute object, extract the attribute
        value data into a usable dictionary format.
        """
        attributes = {}

        if len(template_attribute.names) > 0:
            raise exceptions.ItemNotFound(
                "Attribute templates are not supported."
            )

        for attribute in template_attribute.attributes:
            name = attribute.attribute_name.value

            if not self._attribute_policy.is_attribute_supported(name):
                raise exceptions.InvalidField(
                    "The {0} attribute is unsupported.".format(name)
                )

            if self._attribute_policy.is_attribute_multivalued(name):
                values = attributes.get(name, list())
                if (not attribute.attribute_index) and len(values) > 0:
                    raise exceptions.InvalidField(
                        "Attribute index missing from multivalued attribute."
                    )

                values.append(attribute.attribute_value)
                attributes.update([(name, values)])
            else:
                if attribute.attribute_index:
                    if attribute.attribute_index.value != 0:
                        raise exceptions.InvalidField(
                            "Non-zero attribute index found for "
                            "single-valued attribute."
                        )
                value = attributes.get(name, None)
                if value:
                    raise exceptions.IndexOutOfBounds(
                        "Cannot set multiple instances of the "
                        "{0} attribute.".format(name)
                    )
                else:
                    attributes.update([(name, attribute.attribute_value)])

        return attributes
def _process_template_attribute(self, template_attribute):
        attributes = {}

        if len(template_attribute.names) > 0:
            raise exceptions.ItemNotFound(
                "Attribute templates are not supported."
            )

        for attribute in template_attribute.attributes:
            name = attribute.attribute_name.value

            if not self._attribute_policy.is_attribute_supported(name):
                raise exceptions.InvalidField(
                    "The {0} attribute is unsupported.".format(name)
                )

            if self._attribute_policy.is_attribute_multivalued(name):
                values = attributes.get(name, list())
                if (not attribute.attribute_index) and len(values) > 0:
                    raise exceptions.InvalidField(
                        "Attribute index missing from multivalued attribute."
                    )

                values.append(attribute.attribute_value)
                attributes.update([(name, values)])
            else:
                if attribute.attribute_index:
                    if attribute.attribute_index.value != 0:
                        raise exceptions.InvalidField(
                            "Non-zero attribute index found for "
                            "single-valued attribute."
                        )
                value = attributes.get(name, None)
                if value:
                    raise exceptions.IndexOutOfBounds(
                        "Cannot set multiple instances of the "
                        "{0} attribute.".format(name)
                    )
                else:
                    attributes.update([(name, attribute.attribute_value)])

        return attributes
def _process_template_attribute ( self , template_attribute ) : attributes = { } if len ( template_attribute . names ) > 0 : raise exceptions . ItemNotFound ( "Attribute templates are not supported." ) for attribute in template_attribute . attributes : name = attribute . attribute_name . value if not self . _attribute_policy . is_attribute_supported ( name ) : raise exceptions . InvalidField ( "The {0} attribute is unsupported." . format ( name ) ) if self . _attribute_policy . is_attribute_multivalued ( name ) : values = attributes . get ( name , list ( ) ) if ( not attribute . attribute_index ) and len ( values ) > 0 : raise exceptions . InvalidField ( "Attribute index missing from multivalued attribute." ) values . append ( attribute . attribute_value ) attributes . update ( [ ( name , values ) ] ) else : if attribute . attribute_index : if attribute . attribute_index . value != 0 : raise exceptions . InvalidField ( "Non-zero attribute index found for " "single-valued attribute." ) value = attributes . get ( name , None ) if value : raise exceptions . IndexOutOfBounds ( "Cannot set multiple instances of the " "{0} attribute." . format ( name ) ) else : attributes . update ( [ ( name , attribute . attribute_value ) ] ) return attributes
Given a kmip.core TemplateAttribute object, extract the attribute
        value data into a usable dictionary format.
Given a kmip . core TemplateAttribute object extract the attribute value data into a usable dictionary format .