Exemple #1
0
    def validate(self, attrs):
        if not self.partial:
            validate_asset_name_with_media_type(attrs.get('name'),
                                                attrs.get('media_type'))
        if self.partial and ('name' in attrs or 'media_type' in attrs):
            validate_asset_name_with_media_type(
                attrs.get('name', self.instance.name),
                attrs.get('media_type', self.instance.media_type))

        validate_json_payload(self)

        return attrs
Exemple #2
0
    def validate(self, attrs):
        validate_json_payload(self)

        if not self.partial:
            attrs['file'] = get_asset_path(attrs['item'], attrs['name'])

        # Check if the asset exits for non partial update or when the checksum is available
        if not self.partial or 'checksum_multihash' in attrs:
            original_name = attrs['name']
            if self.instance:
                original_name = self.instance.name
            path = get_asset_path(attrs['item'], original_name)
            request = self.context.get("request")
            href = build_asset_href(request, path)
            attrs = validate_asset_file(href, original_name, attrs)

        return attrs
Exemple #3
0
    def validate(self, attrs):
        if (
            not self.partial or \
            'properties_datetime' in attrs or \
            'properties_start_datetime' in attrs or \
            'properties_end_datetime' in attrs
        ):
            validate_item_properties_datetimes(
                attrs.get('properties_datetime', None),
                attrs.get('properties_start_datetime', None),
                attrs.get('properties_end_datetime', None))
        else:
            logger.info(
                'Skip validation of item properties datetimes; partial update without datetimes'
            )

        validate_json_payload(self)

        return attrs
Exemple #4
0
 def validate(self, attrs):
     validate_json_payload(self)
     return attrs