From e4f08557ec93c589a71a6e4060134661f1c4b2c0 Mon Sep 17 00:00:00 2001 From: chrisr3d Date: Wed, 15 Apr 2020 18:00:21 +0200 Subject: [PATCH] fix: Diffusing interoperability parameter to all included objects & references --- stix2/base.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/stix2/base.py b/stix2/base.py index bfb2b88..2fa9360 100644 --- a/stix2/base.py +++ b/stix2/base.py @@ -324,11 +324,26 @@ class _STIXBase(Mapping): class _DomainObject(_STIXBase, _MarkingsMixin): - pass + def __init__(self, *args, **kwargs): + interoperability = kwargs.get('interoperability', False) + self.__interoperability = interoperability + self._properties['id'].interoperability = interoperability + self._properties['created_by_ref'].interoperability = interoperability + if kwargs.get('object_marking_refs'): + self._properties['object_marking_refs'].contained.interoperability = interoperability + super(_DomainObject, self).__init__(*args, **kwargs) class _RelationshipObject(_STIXBase, _MarkingsMixin): - pass + def __init__(self, *args, **kwargs): + interoperability = kwargs.get('interoperability', False) + self.__interoperability = interoperability + self._properties['id'].interoperability = interoperability + if kwargs.get('created_by_ref'): + self._properties['created_by_ref'].interoperability = interoperability + if kwargs.get('object_marking_refs'): + self._properties['object_marking_refs'].contained.interoperability = interoperability + super(_RelationshipObject, self).__init__(*args, **kwargs) class _Observable(_STIXBase):