@@ -50,16 +50,17 @@ def validate_settings():
5050 # make sure all registered actions exist
5151 for action in REGISTERED_ACTIONS :
5252 try :
53- cls = getattr (importlib .import_module (f'components.actions.{ snake_case (action )} ' , action ), action )()
53+ getattr (importlib .import_module (f'components.actions.{ snake_case (action )} ' , action ), action )()
5454 except ImportError :
5555 logger .critical (f'Action ({ action } ) not found' )
5656 return False
5757
5858 # make sure all registered events exist
5959 for event in REGISTERED_EVENTS :
60- cls = getattr (importlib .import_module (f'components.events.{ snake_case (event )} ' , event ), event )()
61- if not cls :
62- logger .critical (f'Event ({ event } ) does not exist' )
60+ try :
61+ getattr (importlib .import_module (f'components.events.{ snake_case (event )} ' , event ), event )()
62+ except ImportError :
63+ logger .critical (f'Event ({ event } ) not found' )
6364 return False
6465
6566 return True
@@ -163,7 +164,18 @@ def delete_action(action_name):
163164
164165def add_event (event_name ):
165166 """Add event to settings.py"""
166- build_settings (events = [event_name ])
167+
168+ events = []
169+ try :
170+ from settings import REGISTERED_EVENTS
171+ events = REGISTERED_EVENTS + [event_name ]
172+ except ImportError :
173+ logger .error ('Could not import REGISTERED_EVENTS from settings.py' )
174+
175+ # use set to remove duplicates
176+ events = list (set (events ))
177+
178+ build_settings (events = events )
167179
168180
169181def link_action_to_event (action_name , event_name ):
0 commit comments