Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 68f79a4

Browse files
committed
Fixed serialization of problem part IDs and tags.
1 parent e95f217 commit 68f79a4

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

analytics_data_api/v0/serializers.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ProblemSerializer(serializers.Serializer):
5656
module_id = serializers.CharField(required=True)
5757
total_submissions = serializers.IntegerField(default=0)
5858
correct_submissions = serializers.IntegerField(default=0)
59-
part_ids = serializers.CharField()
59+
part_ids = serializers.ListField(child=serializers.CharField())
6060
created = serializers.DateTimeField(format=settings.DATETIME_FORMAT)
6161

6262

@@ -69,9 +69,12 @@ class ProblemsAndTagsSerializer(serializers.Serializer):
6969
module_id = serializers.CharField(required=True)
7070
total_submissions = serializers.IntegerField(default=0)
7171
correct_submissions = serializers.IntegerField(default=0)
72-
tags = serializers.CharField()
72+
tags = serializers.SerializerMethodField()
7373
created = serializers.DateTimeField(format=settings.DATETIME_FORMAT)
7474

75+
def get_tags(self, obj):
76+
return obj.get('tags', None)
77+
7578

7679
class ProblemResponseAnswerDistributionSerializer(ModelSerializerWithCreatedField):
7780
"""

analytics_data_api/v0/tests/views/test_courses.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -628,14 +628,14 @@ def test_get(self):
628628
'module_id': module_id,
629629
'total_submissions': 150,
630630
'correct_submissions': 50,
631-
'part_ids': unicode([o1.part_id, o3.part_id]),
631+
'part_ids': [unicode(o1.part_id), unicode(o3.part_id)],
632632
'created': alt_created.strftime(settings.DATETIME_FORMAT)
633633
},
634634
{
635635
'module_id': alt_module_id,
636636
'total_submissions': 100,
637637
'correct_submissions': 100,
638-
'part_ids': unicode([o2.part_id]),
638+
'part_ids': [unicode(o2.part_id)],
639639
'created': unicode(created.strftime(settings.DATETIME_FORMAT))
640640
}
641641
]
@@ -699,19 +699,19 @@ def test_get(self):
699699
'module_id': module_id,
700700
'total_submissions': 11,
701701
'correct_submissions': 4,
702-
'tags': unicode({
702+
'tags': {
703703
u'difficulty': u'Easy',
704704
u'learning_outcome': u'Learned a few things',
705-
}),
705+
},
706706
'created': alt_created.strftime(settings.DATETIME_FORMAT)
707707
},
708708
{
709709
'module_id': alt_module_id,
710710
'total_submissions': 4,
711711
'correct_submissions': 0,
712-
'tags': unicode({
712+
'tags': {
713713
u'learning_outcome': u'Learned everything',
714-
}),
714+
},
715715
'created': created.strftime(settings.DATETIME_FORMAT)
716716
}
717717
]

0 commit comments

Comments
 (0)