def process_attachments(request, comment): """ For the provided request, check if files are to be attached or deleted from the provided comment. Raises a ValidationError if any files are larger than 30MB. """ # Check if any existing comment attachments are to be deleted. if request.POST.get('attachments-delete'): attachments_delete = request.POST.get('attachments-delete').split(",") for fileHash in attachments_delete: Attachment.delete(request.get_host(), Comment.api_path_fragment, comment.id, fileHash) # Check if any files have been uploaded with the request. if request.FILES.has_key('attachments'): for f in request.FILES.getlist('attachments'): file_request = FileMetadata.from_create_form(f) # Maximum file size is 30 MB. if len(file_request.file[f.name]) >= 31457280: raise ValidationError # Associate attachment with comment using attachments API. else: file_metadata = file_request.create(request.get_host(), request.access_token) Attachment.create(request.get_host(), file_metadata.file_hash, comment_id=comment.id, access_token=request.access_token, file_name=f.name)