summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Madden <jamadden@gmail.com>2018-09-24 16:20:34 -0500
committerJason Madden <jamadden@gmail.com>2018-09-25 09:46:45 -0500
commitbd9682f9b0cc38ffa058b88f30e70073c6489c2f (patch)
treee7b6614edd3aee5037b68e9002d3b916a881fa67
parent9a97e817a6298405f773a17c515c1dd1145f5771 (diff)
downloadzope-configuration-issue6.tar.gz
Do not allow empty identifiers in PythonIdentifier.issue6
This restores the previous behaviour of validate(); fromUnicode() previously did no validation at all.
-rw-r--r--docs/api/fields.rst2
-rw-r--r--src/zope/configuration/fields.py7
2 files changed, 7 insertions, 2 deletions
diff --git a/docs/api/fields.rst b/docs/api/fields.rst
index 1a81b8d..928a632 100644
--- a/docs/api/fields.rst
+++ b/docs/api/fields.rst
@@ -43,7 +43,7 @@
Validation Error '3foo'
Validation Error 'foo:'
Validation Error '\\'
- ''
+ Validation Error ''
.. autoclass:: GlobalObject
:members:
diff --git a/src/zope/configuration/fields.py b/src/zope/configuration/fields.py
index add0fe8..b27a236 100644
--- a/src/zope/configuration/fields.py
+++ b/src/zope/configuration/fields.py
@@ -35,9 +35,14 @@ from zope.configuration.interfaces import InvalidToken
class PythonIdentifier(schema_PythonIdentifier):
"""
- This class is deprecated, prefer `zope.schema.PythonIdentifier`.
+ This class is like `zope.schema.PythonIdentifier`, but does not allow empty strings.
"""
+ def _validate(self, value):
+ super(PythonIdentifier, self)._validate(value)
+ if not value:
+ raise ValidationError(value).with_field_and_value(self, value)
+
@implementer(IFromUnicode)
class GlobalObject(Field):