I have a concrete class MyConcreteClass
which subclasses an abstract
class MyABC2
, which, in turn, subclasses another abstract class MyABC1
:
import abc
class MyABC1 (object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def my_abstract_method (self):
raise NotImplementedError("MyABC1.my_abstract_method")
class MyABC2 (MyABC1):
__metaclass__ = abc.ABCMeta
class MyConcreteClass (MyABC2):
def my_abstract_method (self):
print "MyConcreteClass.my_abstract_method"
pylint
does not like that I do not define my_abstract_method
in MyABC2
:
/usr/local/bin/epylint abctest.py
************* Module abctest
abctest.py:9: warning (W0223, abstract-method, MyABC2) Method 'my_abstract_method' is abstract in class 'MyABC1' but is not overridden
Is this a known bug? Maybe I am doing something wrong?