def _generateFormClasses(self, classes):
''' Loops over all ModelClasses and generates a new WTForm class. New form classes are named as [ModelClassName]Form.
Sets the new form as an attribute on MarvinForm. Also populates the _param_to_form_lookup dictonary with
all ModelClass/WTForm parameters and their corresponding forms.
e.g. _param_form_lookup['name'] = marvin.tools.query.forms.IFUDesignForm
'''
for key, val in classes.items():
classname = '{0}Form'.format(key)
try:
newclass = formClassFactory(classname, val, ModelForm)
except Exception as e:
warnings.warn('class {0} not Formable'.format(key), MarvinUserWarning)
else:
self.__setattr__(classname, newclass)
self._loadParams(newclass)
评论列表
文章目录