Don't accept indexed arguments in FSMProxy methods

This commit is contained in:
Anders Ingemann 2014-01-18 16:35:44 +01:00
parent 8165297a02
commit 218936d09e

View file

@ -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