diff --git a/suitcase/fields.py b/suitcase/fields.py index 3463979..6727c92 100644 --- a/suitcase/fields.py +++ b/suitcase/fields.py @@ -8,6 +8,7 @@ import six from suitcase.exceptions import SuitcaseChecksumException, SuitcaseProgrammingError, \ SuitcaseParseError, SuitcaseException, SuitcasePackStructException +import suitcase from six import BytesIO, StringIO @@ -831,6 +832,12 @@ def unpack(self, data, **kwargs): self._value = self.substructure() return self._value.unpack(data, **kwargs) + def setval(self, value): + if value is None or isinstance(value, suitcase.structure.Structure): + BaseField.setval(self, value) + else: + self._value.setval(value) + class FieldArray(BaseField): """Field which contains a list of some other field.