def encode_property(self, obj, prop, value):
        if not prop._repeated:
            return adapter_models.encode_model_property(obj, prop, value)

        if not value:
            return []

        for idx, val in enumerate(value):
            value[idx] = adapter_models.encode_model_property(obj, prop, val)

        return value
示例#2
0
    def getEncodableAttributes(self, obj, codec=None):
        attrs = super(DataStoreClassAlias, self).getEncodableAttributes(
            obj,
            codec=codec
        )

        for attr in obj.dynamic_properties():
            attrs[attr] = self.getAttribute(obj, attr, codec=codec)

        if self.properties:
            for name in self.encodable_properties:
                prop = self.properties.get(name, None)

                if not prop:
                    continue

                try:
                    value = attrs[name]
                except KeyError:
                    value = self.getAttribute(obj, name, codec=codec)

                attrs[name] = adapter_models.encode_model_property(
                    obj,
                    prop,
                    value
                )

        return attrs
    def getEncodableAttributes(self, obj, codec=None):
        attrs = super(DataStoreClassAlias, self).getEncodableAttributes(
            obj,
            codec=codec
        )

        for attr in obj.dynamic_properties():
            attrs[attr] = self.getAttribute(obj, attr, codec=codec)

        if self.properties:
            for name in self.encodable_properties:
                prop = self.properties.get(name, None)

                if not prop:
                    continue

                try:
                    value = attrs[name]
                except KeyError:
                    value = self.getAttribute(obj, name, codec=codec)

                attrs[name] = adapter_models.encode_model_property(
                    obj,
                    prop,
                    value
                )

        return attrs
    def encode_property(self, obj, prop, value):
        if not prop._repeated:
            return adapter_models.encode_model_property(
                obj,
                prop,
                value
            )

        if not value:
            return []

        for idx, val in enumerate(value):
            value[idx] = adapter_models.encode_model_property(
                obj,
                prop,
                val
            )

        return value