api.py 774 B

1234567891011121314151617181920212223
  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, finalize_markup
  5. from .serializers import MarkupSerializer
  6. @api_view(["POST"])
  7. def parse_markup(request):
  8. serializer = MarkupSerializer(
  9. data=request.data, context={"settings": request.settings}
  10. )
  11. if not serializer.is_valid():
  12. errors_list = list(serializer.errors.values())[0]
  13. return Response({"detail": errors_list[0]}, status=status.HTTP_400_BAD_REQUEST)
  14. parsing_result = common_flavour(
  15. request, request.user, serializer.data["post"], force_shva=True
  16. )
  17. finalized = finalize_markup(parsing_result["parsed_text"])
  18. return Response({"parsed": finalized})