horizon/HACKING.rst
Radomir Dopieralski 028332da4a Remove #noqa from most common imports and add them to import_exceptions
We have a lot of import with #noqa that is there to ignore h302,
because it's traditional to import and use a name directly, instead
of a whole module. This hides other errors and gives people the
impression that it's actually fine to import non-modules, you just
have to slap #noqa on those lines.

I went through the code and identified about a dozen names that are
most commonly imported this way. I remove the #noqa tag from them,
and added them to the list in import_exceptions.

I also removed a few unused imports that were revealed in the process.

Change-Id: I27afb8e2b1d4759ec974ded9464d8f010312ee78
2014-01-07 12:26:35 +01:00

1.0 KiB

Horizon Style Commandments

  • Step 1: Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/

  • Step 2: The following names can be imported directly, without triggering the "H302: import only modules" flake8 warning:

    collections.defaultdict,
    django.conf.settings,
    django.core.urlresolvers.reverse,
    django.core.urlresolvers.reverse_lazy,
    django.template.loader.render_to_string,
    django.utils.datastructures.SortedDict,
    django.utils.encoding.force_unicode,
    django.utils.html.conditional_escape,
    django.utils.html.escape,
    django.utils.http.urlencode,
    django.utils.safestring.mark_safe,
    django.utils.translation.pgettext_lazy,
    django.utils.translation.ugettext_lazy,
    django.utils.translation.ungettext_lazy,
    operator.attrgetter,
    StringIO.StringIO
  • Step 3: Read on

Horizon Specific Commandments