From b1262a0c961f5ab64bc2d90f3df0d1018a2d4045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Vinot?= Date: Fri, 10 Nov 2017 15:42:07 -0800 Subject: [PATCH] chg: Add fast publish method Fix #86 --- pymisp/api.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pymisp/api.py b/pymisp/api.py index 78901ab..25c6bb4 100644 --- a/pymisp/api.py +++ b/pymisp/api.py @@ -385,6 +385,18 @@ class PyMISP(object): eid = e.id return self.update_event(eid, e) + def fast_publish(self, event_id, alert=False): + """Does the same as the publish method, but just try to publish the event + even with one single HTTP GET. + The default is to not send a mail as it is assumed this method is called on update. + """ + if not alert: + url = urljoin(self.root_url, 'events/publish/{}'.format(event_id)) + else: + url = urljoin(self.root_url, 'events/alert/{}'.format(event_id)) + response = self.__prepare_request('POST', url) + return self._check_response(response) + def publish(self, event, alert=True): """Publish event (with or without alert email) :param event: pass event or event id (as string or int) to publish @@ -398,12 +410,7 @@ class PyMISP(object): event_id = full_event.id if full_event.published: return {'error': 'Already published'} - if not alert: - url = urljoin(self.root_url, 'events/publish/{}'.format(event_id)) - else: - url = urljoin(self.root_url, 'events/alert/{}'.format(event_id)) - response = self.__prepare_request('POST', url) - return self._check_response(response) + return self.fast_publish(event_id, alert) def change_threat_level(self, event, threat_level_id): """Change the threat level of an event"""