On 28 février 04:39, Colin Morris wrote:
> Hi,

Hi Colin,
 
> I've been looking at pylint ticket
> #9263<https://www.logilab.net/elo/ticket/9263>(no W0613 for __init__
> (method does not use all of its arguments)). It looks
> like the problem occurs in the variables checker, at line 243, when the
> checker gives the method a pass if it's in PYMETHODS, a set of special
> Python functions. __init__ is in PYMETHODS, so it's never subject to W0613
> warnings. I think the check is still valuable for almost all other methods
> in PYMETHODS, where the number of arguments is fixed. For example, it seems
> reasonable that someone might want to define some object with infinite
> magnitude, and override its __ge__ method to just return True -- but because
> __gt__ must take two arguments, including self, having an unused argument is
> unavoidable.
> 
> As far as I can tell, the only two methods in PYMETHODS where it's still
> desirable to check for unused arguments would be __init__ and __new__.
> PYMETHODS is used by other checkers, so changing it doesn't seem like a
> possibility. My proposed solution would be to just add another condition to
> 243 so that it reads something like "if node.name in PYMETHODS and
> node.namenot in ('__init__', '__new__'):". Does this seem like a
> reasonable fix?

yup
 
-- 
Sylvain Thénault                               LOGILAB, Paris (France)
Formations Python, Debian, Méth. Agiles: http://www.logilab.fr/formations
Développement logiciel sur mesure:       http://www.logilab.fr/services
CubicWeb, the semantic web framework:    http://www.cubicweb.org

_______________________________________________
Python-Projects mailing list
Python-Projects@lists.logilab.org
http://lists.logilab.org/mailman/listinfo/python-projects

Reply via email to