if isinstance(value, str): string = '<a>' + value + '</a>' else: string = u'<a>' + value + u'</a>' try: doc = parseString(string) doc.unlink() # Destroy the document object so the garbage # collector can delete it return 1 except: return """Please use XHTML conformant markup.""" # The format was not 'text/html' or something went wrong return True # Register this validator in Zope registerValidatorLogged(XMLValidator, 'isXML') class PositiveIntegerValidator: """A validator for positive integers.""" implements(IValidator) def __init__(self, name): self.name = name def __call__(self, value, *args, **kwargs): if (not re.compile(r'^[1-9]\d*$').match(value)): return """Please enter a positive integer.""" return True
string = '<a>' + value + '</a>' else: string = u'<a>' + value + u'</a>' try: doc = parseString(string) doc.unlink() # Destroy the document object so the garbage # collector can delete it return 1 except: return """Please use XHTML conformant markup.""" # The format was not 'text/html' or something went wrong return True # Register this validator in Zope registerValidatorLogged(XMLValidator, 'isXML') class PositiveIntegerValidator: """A validator for positive integers.""" implements(IValidator) def __init__(self, name): self.name = name def __call__(self, value, *args, **kwargs): if (not re.compile(r'^[1-9]\d*$').match(value)): return """Please enter a positive integer.""" return True
res = None match = re.match('^[0-9]+(\\' + decimalSeparator + r')?[0-9]*\s*%$', value) if match: return None else: return instance.translate( msgid = 'invalid_percentage', domain = I18N_DOMAIN, default = 'Not a percentage: %s') % value else: return True # Register this validator in Zope registerValidatorLogged(PercentageValidator, 'percentage') class ECQScaleAnswer(ECQMCAnswer): """An answer to a multiple-choice question that provides only some of the points.""" schema = ECQMCAnswer.schema.copy() + Schema(( FloatField( 'score', accessor='getScorePrivate', mutator = 'setScore', edit_accessor = 'getScoreForEdit', default=0.0, searchable=False, validators=('percentage',), read_permission=PERMISSION_INTERROGATOR, widget=StringWidget(