def create_model(self, root, **opts): """ Create the form model. """ kwargs = {} for k, v in root.items(): kwargs[k] = v model = FormModel(**kwargs) for child in root.getchildren(): bind = [] for elt in child.xpath("./bind"): bind.append(elt.text) kwargs = {} for elt in ["required", "relevant", "readonly", "calculate", "datatype", "constraint", "default", ]: if child.xpath("./%s" % elt): expr = child.xpath("./%s" % elt)[0].text.strip() expr = expr.replace("\n", " ") if expr: kwargs[elt] = expr prop = FieldProperties(child.get("id"), bind, **kwargs) model.addFieldProperties(prop) return model
def create_model(self, root): """ Create the form model. """ model = FormModel() for child in root.getchildren(): bind = [] for elt in child.xpath("./bind"): bind.append(elt.text) kwargs = {} for elt in [ "required", "relevant", "readonly", "calculate", "datatype", "constraint" ]: if child.xpath("./%s" % elt): kwargs[elt] = child.xpath("./%s" % elt)[0].text prop = FieldProperties(child.get("id"), bind, **kwargs) model.addFieldProperties(prop) return model