| Total Complexity | 8 | 
| Total Lines | 16 | 
| Duplicated Lines | 0 % | 
| Changes | 1 | ||
| Bugs | 1 | Features | 0 | 
| 1 | from intelligine.core.exceptions import NearNothingFound  | 
            ||
| 6 | class NearEvent(Event):  | 
            ||
| 7 | |||
| 8 | _mechanism = AroundMechanism  | 
            ||
| 9 | _near_name = None  | 
            ||
| 10 | _near_map = lambda self, near_object_id, context: False  | 
            ||
| 11 | |||
| 12 | # TODO: parameters en entre/sortie c pas bon ca  | 
            ||
| 13 | def map(self, context, parameters, stop_at_first=False, filter=lambda near_object_id, context: True):  | 
            ||
| 14 | parameters[self._near_name] = []  | 
            ||
| 15 | for near_object_id in parameters['objects_ids_near']:  | 
            ||
| 16 | if self._near_map(near_object_id, context) and filter(near_object_id, context):  | 
            ||
| 17 | parameters[self._near_name].append(near_object_id)  | 
            ||
| 18 | if stop_at_first:  | 
            ||
| 19 | return  | 
            ||
| 20 | if not parameters[self._near_name]:  | 
            ||
| 21 | raise NearNothingFound()  | 
            ||
| 22 |