diff --git a/common/fsm_proxy.py b/common/fsm_proxy.py index db3d17a..bf02c73 100644 --- a/common/fsm_proxy.py +++ b/common/fsm_proxy.py @@ -33,10 +33,16 @@ class FSMProxy(object): def make_proxy(fsm, event): fn = getattr(fsm, event) - def proxy(): - fn() + def proxy(*args, **kwargs): + if len(args) > 0: + raise FSMProxyError('FSMProxy event listeners only accept named arguments.') + fn(**kwargs) return proxy for event in events: if not hasattr(self, event): setattr(self, event, make_proxy(fsm, event)) + + +class FSMProxyError(Exception): + pass