From 9bfa24155c896cfef785f5c800de1e5900d42738 Mon Sep 17 00:00:00 2001 From: Paul A Date: Wed, 3 May 2017 10:32:14 +0200 Subject: [PATCH] Normalize output between misp.search_index and misp.search Fix issue: https://github.com/CIRCL/PyMISP/issues/78 --- pymisp/api.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pymisp/api.py b/pymisp/api.py index 363ab65..01cc36c 100644 --- a/pymisp/api.py +++ b/pymisp/api.py @@ -774,7 +774,7 @@ class PyMISP(object): def search_index(self, published=None, eventid=None, tag=None, datefrom=None, dateuntil=None, eventinfo=None, threatlevel=None, distribution=None, - analysis=None, attribute=None, org=None): + analysis=None, attribute=None, org=None, normalize=False): """Search only at the index level. Use ! infront of value as NOT, default OR :param published: Published (0,1) @@ -787,6 +787,7 @@ class PyMISP(object): :param distribution: Distribution level(s) (0,1,2,3) | str or list :param analysis: Analysis level(s) (0,1,2) | str or list :param org: Organisation(s) | str or list + :param normalize: Normalize output | True or False """ allowed = {'published': published, 'eventid': eventid, 'tag': tag, 'Dateuntil': dateuntil, 'Datefrom': datefrom, 'eventinfo': eventinfo, 'threatlevel': threatlevel, @@ -812,7 +813,14 @@ class PyMISP(object): session = self.__prepare_session() url = urljoin(self.root_url, buildup_url) response = session.post(url, data=json.dumps(to_post)) - return self._check_response(response) + res = self._check_response(response) + if normalize: + to_return = {'response': []} + for elem in res['response']: + tmp = {'Event': elem} + to_return['response'].append(tmp) + res = to_return + return res def search_all(self, value): query = {'value': value, 'searchall': 1}