mirror of https://github.com/MISP/PyMISP
fix: properly handle errors on event creation/update
parent
1343432e32
commit
de118795ce
|
@ -97,6 +97,8 @@ class ExpandedPyMISP(PyMISP):
|
||||||
created_event = super().add_event(event)
|
created_event = super().add_event(event)
|
||||||
if isinstance(created_event, str):
|
if isinstance(created_event, str):
|
||||||
raise NewEventError(f'Unexpected response from server: {created_event}')
|
raise NewEventError(f'Unexpected response from server: {created_event}')
|
||||||
|
elif 'errors' in created_event:
|
||||||
|
return created_event
|
||||||
e = MISPEvent()
|
e = MISPEvent()
|
||||||
e.load(created_event)
|
e.load(created_event)
|
||||||
return e
|
return e
|
||||||
|
@ -105,6 +107,8 @@ class ExpandedPyMISP(PyMISP):
|
||||||
updated_event = super().update_event(event.uuid, event)
|
updated_event = super().update_event(event.uuid, event)
|
||||||
if isinstance(updated_event, str):
|
if isinstance(updated_event, str):
|
||||||
raise UpdateEventError(f'Unexpected response from server: {updated_event}')
|
raise UpdateEventError(f'Unexpected response from server: {updated_event}')
|
||||||
|
elif 'errors' in updated_event:
|
||||||
|
return updated_event
|
||||||
e = MISPEvent()
|
e = MISPEvent()
|
||||||
e.load(updated_event)
|
e.load(updated_event)
|
||||||
return e
|
return e
|
||||||
|
@ -113,6 +117,8 @@ class ExpandedPyMISP(PyMISP):
|
||||||
updated_attribute = super().update_attribute(attribute.uuid, attribute)
|
updated_attribute = super().update_attribute(attribute.uuid, attribute)
|
||||||
if isinstance(updated_attribute, str):
|
if isinstance(updated_attribute, str):
|
||||||
raise UpdateAttributeError(f'Unexpected response from server: {updated_attribute}')
|
raise UpdateAttributeError(f'Unexpected response from server: {updated_attribute}')
|
||||||
|
elif 'errors' in updated_attribute:
|
||||||
|
return updated_attribute
|
||||||
a = MISPAttribute()
|
a = MISPAttribute()
|
||||||
a.from_dict(**updated_attribute)
|
a.from_dict(**updated_attribute)
|
||||||
return a
|
return a
|
||||||
|
|
|
@ -469,8 +469,7 @@ class MISPEvent(AbstractMISP):
|
||||||
'attribute_count' in event.get('Event') and
|
'attribute_count' in event.get('Event') and
|
||||||
event.get('Event').get('attribute_count') is None):
|
event.get('Event').get('attribute_count') is None):
|
||||||
event['Event']['attribute_count'] = '0'
|
event['Event']['attribute_count'] = '0'
|
||||||
e = event.get('Event')
|
self.from_dict(**event['Event'])
|
||||||
self.from_dict(**e)
|
|
||||||
if validate:
|
if validate:
|
||||||
jsonschema.validate(json.loads(self.to_json()), self.__json_schema)
|
jsonschema.validate(json.loads(self.to_json()), self.__json_schema)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue