Warning required when calling register() on an ABCMeta subclass.
This commit is contained in:
Christian Heimes 2007-11-30 14:32:41 +00:00
parent c896700235
commit 2e510fb920
2 changed files with 11 additions and 1 deletions

View file

@ -137,8 +137,11 @@ class ABCMeta(type):
cls._abc_negative_cache_version = ABCMeta._abc_invalidation_counter
return cls
def register(cls, subclass):
def register(cls, subclass=None):
"""Register a virtual subclass of an ABC."""
if subclass is None:
raise TypeError("register() cannot be called on an ABCMeta "
"subclass, use class Example(metaclass=abc.ABCMeta) instead.")
if not isinstance(cls, type):
raise TypeError("Can only register classes")
if issubclass(subclass, cls):