mirror of https://github.com/MISP/PyMISP
				
				
				
			
							parent
							
								
									1ecdedb53c
								
							
						
					
					
						commit
						9f4cd243aa
					
				|  | @ -87,6 +87,23 @@ def _int_to_str(d): | |||
|     return d | ||||
| 
 | ||||
| 
 | ||||
| def make_bool(value): | ||||
|     if isinstance(value, bool): | ||||
|         return value | ||||
|     if not value:  # None, 0, '', {}, [] | ||||
|         return False | ||||
| 
 | ||||
|     if isinstance(value, int): | ||||
|         return bool(value) | ||||
| 
 | ||||
|     if isinstance(value, str): | ||||
|         if value == '0': | ||||
|             return False | ||||
|         return True | ||||
|     else: | ||||
|         raise Exception('Unable to convert {} to a boolean.'.format(value)) | ||||
| 
 | ||||
| 
 | ||||
| class MISPAttribute(AbstractMISP): | ||||
| 
 | ||||
|     def __init__(self, describe_types=None, strict=False): | ||||
|  | @ -193,6 +210,9 @@ class MISPAttribute(AbstractMISP): | |||
|         self.to_ids = kwargs.pop('to_ids', bool(int(type_defaults['to_ids']))) | ||||
|         if self.to_ids is None: | ||||
|             self.to_ids = bool(int(type_defaults['to_ids'])) | ||||
|         else: | ||||
|             self.to_ids = make_bool(self.to_ids) | ||||
| 
 | ||||
|         if not isinstance(self.to_ids, bool): | ||||
|             raise NewAttributeError('{} is invalid, to_ids has to be True or False'.format(self.to_ids)) | ||||
| 
 | ||||
|  | @ -459,7 +479,7 @@ class MISPEvent(AbstractMISP): | |||
|             if OLD_PY3 and isinstance(json_event, bytes): | ||||
|                 json_event = json_event.decode() | ||||
|             json_event = json.loads(json_event) | ||||
|         if json_event.get('response'): # hasattr(json_event, 'response') and ... is a Bugfix ? | ||||
|         if json_event.get('response'): | ||||
|             event = json_event.get('response')[0] | ||||
|         else: | ||||
|             event = json_event | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Raphaël Vinot
						Raphaël Vinot