[openstack-dev] [Horizon] "import only module" message and #noqa
Radomir Dopieralski
openstack at sheep.art.pl
Fri Jan 3 15:10:25 UTC 2014
On 30/12/13 16:10, Gabriel pettier wrote:
> So Tatiana pointed
> http://lists.openstack.org/pipermail/openstack-dev/2013-June/thread.html#9993
> to me, and from there i went on to read
> http://lists.openstack.org/pipermail/openstack-dev/2013-August/thread.html#13074
> and i can see valid points for H302, even if it annoy me sometime, if
> it's better for reviews, i understand.
>
> Sorry for the noise
>
> On Mon, Dec 30, 2013 at 03:43:03PM +0100, Gabriel pettier wrote:
>> Hi
>>
>> Reading horizon's code and recent reviews, i'm under the impression that
>> it's a common practice to use #noqa to bypass the "import only modules"
>> qa message, i'm unconvinced of the advantages of this policy (i think
>> the namespace is often cleaner when one import only the symbols needed
>> from the modules), so i think this policy could be removed, by adding
>> "H302" to the list of ignored errors in tox.ini.
>>
>> This would allow removing a lot of #noqa comments, making for cleaner
>> code.
>>
>> If there are significant advantages to this policy, however, it should
>> be made more consistently applied to fix all these imports.
I think that we can actually do a little bit better and remove many of
the #noqa tags without forfeiting automatic checking. I submitted a
patch: https://review.openstack.org/#/c/64832/
This basically adds a h302_exceptions option to tox.ini, that lets us
specify which names are allowed to be imported. For example, we can do:
[hacking]
h302_exceptions = django.conf.settings,
django.utils.translation.ugettext_lazy,
django.core.urlresolvers.
To have settings, _ and everything from urlresolvers importable without
the need for the #noqa tag.
Of course every project can add their own names there, depending what
they need.
--
Radomir Dopieralski
More information about the OpenStack-dev
mailing list