def DecodeValueFromAttribute(self, attribute_name, value, ts):
    try:
      # Get the Attribute object from our schema.
      attribute = Attribute.PREDICATES[attribute_name]
      cls = attribute.attribute_type
      self._AddAttributeToCache(attribute, LazyDecoder(cls, value, ts),
                                self.synced_attributes)
    except KeyError:
      pass
    # TODO(user): uncomment as soon as some messages-flood protection
    # mechanisms are implemented in logging.debug().
    # if not attribute_name.startswith("index:"):
    #   logging.debug("Attribute %s not defined, skipping.", attribute_name)
    except (ValueError, rdfvalue.DecodeError):
      logging.debug("%s: %s invalid encoding. Skipping.",
                    self.urn, attribute_name)
Given a serialized value, decode the attribute.
dataset/ETHPy150Open google/grr/grr/lib/aff4.py/AFF4Object.DecodeValueFromAttribute