From 582fd28702fa3923c2f3c0790fd2a5e2fa683b81 Mon Sep 17 00:00:00 2001 From: Christophe Vandeplas Date: Wed, 20 Dec 2017 13:29:05 +0100 Subject: [PATCH] fix MISPObject missing distribution and sharing_group_id - fix MISPObject missing distribution concept - fix language typo paramaters => parameters --- pymisp/mispevent.py | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/pymisp/mispevent.py b/pymisp/mispevent.py index 1c0a7fc..6f4558a 100644 --- a/pymisp/mispevent.py +++ b/pymisp/mispevent.py @@ -699,7 +699,7 @@ class MISPObjectAttribute(MISPAttribute): class MISPObject(AbstractMISP): - def __init__(self, name, strict=False, standalone=False, default_attributes_paramaters={}, **kwargs): + def __init__(self, name, strict=False, standalone=False, default_attributes_parameters={}, **kwargs): ''' Master class representing a generic MISP object :name: Name of the object @@ -708,7 +708,7 @@ class MISPObject(AbstractMISP): :standalone: The object will be pushed as directly on MISP, not as a part of an event. In this case the ObjectReference needs to be pushed manually and cannot be in the JSON dump. - :default_attributes_paramaters: Used as template for the attributes if they are not overwritten in add_attribute + :default_attributes_parameters: Used as template for the attributes if they are not overwritten in add_attribute ''' super(MISPObject, self).__init__(**kwargs) self.__strict = strict @@ -735,21 +735,25 @@ class MISPObject(AbstractMISP): pass self.uuid = str(uuid.uuid4()) self.__fast_attribute_access = {} # Hashtable object_relation: [attributes] - self._default_attributes_paramaters = default_attributes_paramaters - if self._default_attributes_paramaters: + self._default_attributes_parameters = default_attributes_parameters + if self._default_attributes_parameters: # Let's clean that up - self._default_attributes_paramaters.pop('value', None) # duh - self._default_attributes_paramaters.pop('uuid', None) # duh - self._default_attributes_paramaters.pop('id', None) # duh - self._default_attributes_paramaters.pop('object_id', None) # duh - self._default_attributes_paramaters.pop('type', None) # depends on the value - self._default_attributes_paramaters.pop('object_relation', None) # depends on the value - self._default_attributes_paramaters.pop('disable_correlation', None) # depends on the value - self._default_attributes_paramaters.pop('to_ids', None) # depends on the value - self._default_attributes_paramaters.pop('category', None) # depends on the value - self._default_attributes_paramaters.pop('deleted', None) # doesn't make sense to pre-set it - self._default_attributes_paramaters.pop('data', None) # in case the original in a sample or an attachment - self.distribution = self._default_attributes_paramaters.distribution + self._default_attributes_parameters.pop('value', None) # duh + self._default_attributes_parameters.pop('uuid', None) # duh + self._default_attributes_parameters.pop('id', None) # duh + self._default_attributes_parameters.pop('object_id', None) # duh + self._default_attributes_parameters.pop('type', None) # depends on the value + self._default_attributes_parameters.pop('object_relation', None) # depends on the value + self._default_attributes_parameters.pop('disable_correlation', None) # depends on the value + self._default_attributes_parameters.pop('to_ids', None) # depends on the value + self._default_attributes_parameters.pop('category', None) # depends on the value + self._default_attributes_parameters.pop('deleted', None) # doesn't make sense to pre-set it + self._default_attributes_parameters.pop('data', None) # in case the original in a sample or an attachment + self.distribution = self._default_attributes_parameters.distribution + self.sharing_group_id = self._default_attributes_parameters.sharing_group_id + else: + self.distribution = 3 + self.sharing_group_id = None self.ObjectReference = [] self._standalone = standalone if self._standalone: @@ -858,8 +862,8 @@ class MISPObject(AbstractMISP): attribute = MISPObjectAttribute({}) else: attribute = MISPObjectAttribute({}) - # Overwrite the parameters of self._default_attributes_paramaters with the ones of value - attribute.from_dict(object_relation=object_relation, **dict(self._default_attributes_paramaters, **value)) + # Overwrite the parameters of self._default_attributes_parameters with the ones of value + attribute.from_dict(object_relation=object_relation, **dict(self._default_attributes_parameters, **value)) if not self.__fast_attribute_access.get(object_relation): self.__fast_attribute_access[object_relation] = [] self.__fast_attribute_access[object_relation].append(attribute)