Hi folks, I've just noticed that a legacy piece of code I'm working with contains the following pattern:
class SomeClass(object): __all__ = ['add', 'delete']
def __init__(self): pass
def get(self): pass
def add(self, x): pass
def delete(self, x): pass
And the caller of this class actually uses the .get() method. I have this in at least 10 different places.
I wasn't able to find any information about __all__ having any special meaning when defined inside a class so this looks like a mistake.
Q1: Do we want pylint to warn about __all__ being detected not at module level ?
Q2: Do we want another check to warn about class attributes staring with single/double underscore ?