In views.py line 182, I am not entirely sure why you are using reg_klass.__class__.__name__ but it appears to be giving the wrong value here. It might be easier to explain with an example:
reg_klass:
dottedname = wicked.fieldevent.interfaces.InterfaceClass
It should be "wicked.fieldevent.interfaces.IFieldValueSetter". inspect.isclass expects a type in (<type 'type'>, <type 'classobj'>) which type(reg_klass) does not satisfy. Maybe it should check if isinstance(reg_klass, InterfaceClass)?
(Pdb) reg_klass <InterfaceClass wicked.fieldevent.interfaces.IFieldValueSetter> (Pdb) type(reg_klass) <class 'zope.interface.interface.InterfaceClass'>
If I correct the URL to fix the reg_dottedname I get the expected behavior.
In views.py line 182, I am not entirely sure why you are using
reg_klass.__class__.__name__but it appears to be giving the wrong value here. It might be easier to explain with an example:reg_klass:
dottedname = wicked.fieldevent.interfaces.InterfaceClass
It should be "wicked.fieldevent.interfaces.IFieldValueSetter". inspect.isclass expects a type in (<type 'type'>, <type 'classobj'>) which type(reg_klass) does not satisfy. Maybe it should check if isinstance(reg_klass, InterfaceClass)?
(Pdb) reg_klass <InterfaceClass wicked.fieldevent.interfaces.IFieldValueSetter> (Pdb) type(reg_klass) <class 'zope.interface.interface.InterfaceClass'>If I correct the URL to fix the reg_dottedname I get the expected behavior.