fix: add_hashes was broken

Fix #174
pull/175/head
Raphaël Vinot 2018-01-12 18:47:45 +01:00
parent cb4f4d2443
commit c862800df2
1 changed files with 10 additions and 7 deletions

View File

@ -17,7 +17,7 @@ import zipfile
from . import __version__, deprecated from . import __version__, deprecated
from .exceptions import PyMISPError, SearchError, NoURL, NoKey from .exceptions import PyMISPError, SearchError, NoURL, NoKey
from .mispevent import MISPEvent, MISPAttribute, MISPUser, MISPOrganisation, MISPSighting from .mispevent import MISPEvent, MISPAttribute, MISPUser, MISPOrganisation, MISPSighting
from .abstract import MISPEncode from .abstract import AbstractMISP, MISPEncode
logger = logging.getLogger('pymisp') logger = logging.getLogger('pymisp')
@ -478,6 +478,9 @@ class PyMISP(object):
else: else:
url = urljoin(self.root_url, 'attributes/add/{}'.format(event_id)) url = urljoin(self.root_url, 'attributes/add/{}'.format(event_id))
if isinstance(attributes, list): if isinstance(attributes, list):
if all(isinstance(a, AbstractMISP) for a in attributes):
data = attributes
else:
values = [] values = []
for a in attributes: for a in attributes:
values.append(a['value']) values.append(a['value'])
@ -486,7 +489,7 @@ class PyMISP(object):
else: else:
data = attributes.to_json() data = attributes.to_json()
# __prepare_request(...) returns a requests.Response Object # __prepare_request(...) returns a requests.Response Object
responses.append(self.__prepare_request('POST', url, data).json()) responses.append(self.__prepare_request('POST', url, json.dumps(data, cls=MISPEncode)).json())
return responses return responses
def _extract_event_id(self, event): def _extract_event_id(self, event):