api.py 780 B

123456789101112131415161718192021222324252627
  1. from rest_framework import status
  2. from rest_framework.decorators import api_view
  3. from rest_framework.response import Response
  4. from . import common_flavour, finalise_markup
  5. from .serializers import MarkupSerializer
  6. @api_view(['POST'])
  7. def parse_markup(request):
  8. serializer = MarkupSerializer(data=request.data)
  9. if not serializer.is_valid():
  10. errors_list = list(serializer.errors.values())[0]
  11. return Response(
  12. {'detail': errors_list[0]},
  13. status=status.HTTP_400_BAD_REQUEST,
  14. )
  15. parsing_result = common_flavour(
  16. request,
  17. request.user,
  18. serializer.data['post'],
  19. force_shva=True,
  20. )
  21. finalised = finalise_markup(parsing_result['parsed_text'])
  22. return Response({'parsed': finalised})