def field(self, _context, id, type, label='', choices=[], choicesList=None, description='', tip='', validator=None, persist=False, canonical=''): if label == '': label = id self.fields.append( metadatafield(type)(id, label, choices=(choicesList or choices), description=description, tip=tip, validator=validator, persist=persist, canonical=canonical) )