Coverage for backend/django/core/auxiliary/serializers/TaskSerializer.py: 100%
22 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
1from drf_spectacular.helpers import lazy_serializer
2from drf_spectacular.utils import extend_schema_field
3from rest_framework import serializers
4from core.auxiliary.models.Task import Task, TaskMeta
7class TaskMetaSerializer(serializers.ModelSerializer):
8 class Meta:
9 model = TaskMeta
10 exclude = ['id']
11 read_only_fields = ['scheduled_tasks', 'failed_tasks', 'successful_tasks']
13class TaskSerializer(serializers.ModelSerializer):
14 error = serializers.SerializerMethodField()
15 metadata = TaskMetaSerializer(allow_null=True)
17 def get_error(self, obj: Task):
18 if not obj.error or not isinstance(obj.error, dict):
19 return obj.error
21 sanitized_error = dict(obj.error)
22 sanitized_error.pop("traceback", None)
23 return sanitized_error
25 class Meta:
26 model = Task
27 exclude = ['creator', 'flowsheet']
28 read_only_fields = [
29 'id',
30 'status',
31 'start_time',
32 'completed_time',
33 'error',
34 'debug',
35 'log',
36 'parent',
37 'metadata',
38 ]