summaryrefslogtreecommitdiff
path: root/src/zope/interface/interface.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/interface/interface.py')
-rw-r--r--src/zope/interface/interface.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/zope/interface/interface.py b/src/zope/interface/interface.py
index 53049e2..7447641 100644
--- a/src/zope/interface/interface.py
+++ b/src/zope/interface/interface.py
@@ -890,10 +890,10 @@ class InterfaceClass(_InterfaceClassBase):
try:
invariant(obj)
except Invalid as error:
- if errors is not None:
- errors.append(error)
- else:
- raise
+ if errors is not None:
+ errors.append(error)
+ else:
+ raise
if errors:
raise Invalid(errors)
@@ -925,18 +925,22 @@ class InterfaceClass(_InterfaceClassBase):
keys.update(base.getDirectTaggedValueTags())
return keys
- def __repr__(self): # pragma: no cover
+ def __repr__(self):
try:
return self._v_repr
except AttributeError:
- name = self.__name__
- m = self.__ibmodule__
- if m:
- name = '%s.%s' % (m, name)
+ name = str(self)
r = "<%s %s>" % (self.__class__.__name__, name)
self._v_repr = r # pylint:disable=attribute-defined-outside-init
return r
+ def __str__(self):
+ name = self.__name__
+ m = self.__ibmodule__
+ if m:
+ name = '%s.%s' % (m, name)
+ return name
+
def _call_conform(self, conform):
try:
return conform(self)