def setUp(self): configure() self.handler = ChoiceHandler(schema.Choice)
from zope.schema.interfaces import IChoice from zope.schema.interfaces import IList from zope.schema import Choice from zope.schema import List from zope.schema.interfaces import IFromUnicode from plone.supermodel.exportimport import ChoiceHandler from plone.supermodel.exportimport import BaseHandler class IRadiobutton(IChoice): pass @implementer(IRadiobutton, IFromUnicode) class Radiobutton(Choice): pass class ICheckbox(IList): pass @implementer(ICheckbox, IFromUnicode) class Checkbox(List): pass # plone.supermodel export/import handler RadiobuttonHandler = ChoiceHandler(Radiobutton) CheckboxHandler = BaseHandler(Checkbox)
rel_list = None if not rel_list: return [] resolved_list = [] for rel in rel_list: if rel.isBroken(): # XXX: should log or take action here continue resolved_list.append(rel.to_object) return resolved_list def set(self, value): """Sets the relationship target""" value = value or [] new_relationships = [] intids = getUtility(IIntIds) for item in value: # otherwise create one to_id = intids.getId(item) new_relationships.append(RelationValue(to_id)) super(RelationListDataManager, self).set(new_relationships) # plone.supermodel schema import/export handlers RelationChoiceHandler = ChoiceHandler(RelationChoice) RelationListHandler = BaseHandler(RelationList)