Skip to content
Snippets Groups Projects
Commit fed55299 authored by Erwan Rouchet's avatar Erwan Rouchet
Browse files

Merge branch 'serialize-transcription' into 'master'

Re-serialize a full transcription in TranscriptionCreate API view

See merge request !775
parents b8fccc8b 6ea3bba4
No related branches found
No related tags found
1 merge request!775Re-serialize a full transcription in TranscriptionCreate API view
......@@ -14,8 +14,8 @@ from arkindex_common.ml_tool import MLToolType
from arkindex_common.enums import EntityType
from arkindex.documents.serializers.ml import (
ClassificationsSerializer, ClassificationCreateSerializer, ClassificationSerializer,
TranscriptionsSerializer, TranscriptionCreateSerializer, DataSourceStatsSerializer,
ClassificationsSelectionSerializer, ClassificationMode,
TranscriptionsSerializer, TranscriptionSerializer, TranscriptionCreateSerializer,
DataSourceStatsSerializer, ClassificationsSelectionSerializer, ClassificationMode,
CountMLClassSerializer, MLClassSerializer
)
from arkindex.documents.pagexml import PageXmlParser
......@@ -86,7 +86,11 @@ class TranscriptionCreate(CreateAPIView):
serializer.is_valid(raise_exception=True)
obj = self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response({'id': obj.id}, status=status.HTTP_201_CREATED, headers=headers)
return Response(
# Use a single transcription serializer for the response
TranscriptionSerializer(obj).data,
status=status.HTTP_201_CREATED, headers=headers
)
class TranscriptionBulk(CreateAPIView, UpdateAPIView):
......
......@@ -102,6 +102,22 @@ class TestTranscriptionCreate(FixtureAPITestCase):
}
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
tr = Transcription.objects.get(text='A perfect day in a perfect place')
self.assertDictEqual(response.json(), {
'id': str(tr.id),
'score': None,
'source': {
'id': str(tr.source.id),
'internal': False,
'name': '',
'revision': '',
'slug': 'manual',
'type': 'recognizer'
},
'text': 'A perfect day in a perfect place',
'type': 'line',
'zone': None
})
new_ts = Transcription.objects.get(text='A perfect day in a perfect place', type=TranscriptionType.Line)
self.assertIsNone(new_ts.zone)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment