Commit cb2c2f3fc331b3892fb4fed69babe668e287e99d
1 parent
9b28c5c0eb
Exists in
master
Fixed FlashcardMask JSON deserialization.
Showing 2 changed files with 5 additions and 4 deletions Side-by-side Diff
flashcards/serializers.py
View file @
cb2c2f3
... | ... | @@ -95,11 +95,11 @@ |
95 | 95 | return dumps(list(self._make_mask(value))) |
96 | 96 | |
97 | 97 | def to_internal_value(self, value): |
98 | - return self._make_mask(value) | |
98 | + return self._make_mask(loads(value)) | |
99 | 99 | |
100 | 100 | def _make_mask(self, data): |
101 | 101 | try: |
102 | - mask = FlashcardMask(loads(data)) | |
102 | + mask = FlashcardMask(data) | |
103 | 103 | except ValueError: |
104 | 104 | raise serializers.ValidationError("Invalid JSON for MaskField") |
105 | 105 | except TypeError: |
flashcards/validators.py
View file @
cb2c2f3
... | ... | @@ -4,8 +4,9 @@ |
4 | 4 | |
5 | 5 | |
6 | 6 | class FlashcardMask(set): |
7 | - def __init__(self, *args, **kwargs): | |
8 | - super(FlashcardMask, self).__init__(*args, **kwargs) | |
7 | + def __init__(self, iterable, *args, **kwargs): | |
8 | + iterable = map(tuple, iterable) | |
9 | + super(FlashcardMask, self).__init__(iterable, *args, **kwargs) | |
9 | 10 | self._iterable_check() |
10 | 11 | self._interval_check() |
11 | 12 | self._overlap_check() |