from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework import serializers from misago.threads.validators import validate_post_length from . import common_flavour, finalise_markup @api_view(['POST']) def parse_markup(request): serializer = MarkupSerializer(data=request.data) if not serializer.is_valid(): return Response(serializer.errors, status=400) parsing_result = common_flavour( request, request.user, serializer.data['markup'], force_shva=True, ) finalised = finalise_markup(parsing_result['parsed_text']) return Response({'parsed': finalised}) class MarkupSerializer(serializers.Serializer): markup = serializers.CharField(allow_blank=True) def validate_markup(self, data): validate_post_length(data) return data