| 71 | |
| 72 | |
| 73 | class StatementField(mixbox.fields.TypedField): |
| 74 | def __init__(self, *args, **kwargs): |
| 75 | self._vocab_type = kwargs.pop("vocab_type") |
| 76 | super(StatementField, self).__init__(*args, **kwargs) |
| 77 | self.type_ = Statement |
| 78 | |
| 79 | def _clean(self, value): |
| 80 | if value is None: |
| 81 | return None |
| 82 | elif isinstance(value, Statement): |
| 83 | return value |
| 84 | elif isinstance(value, stix.common.VocabString): |
| 85 | return Statement(value) |
| 86 | else: |
| 87 | vocabklass = self._vocab_type |
| 88 | return Statement(vocabklass(value)) |
no outgoing calls
no test coverage detected