028332da4a
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
32 lines
1.0 KiB
ReStructuredText
32 lines
1.0 KiB
ReStructuredText
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
|
|
-----------------------------
|
|
|
|
- Read the Horizon contributing documentation at http://docs.openstack.org/developer/horizon/contributing.html
|