Fix H405 and E131 ignored pep8 rules

Updated tox.ini and fixed rules.

Fix H405:
Multi line docstring summary not separated with an empty line
Fix E131:
Continuation line unaligned for hanging indent

Change-Id: I20cf75c75cffc434fbdcb05b8e04bffcd4059cd1
Closes-Bug: #1498870
This commit is contained in:
Tom Cammann 2015-09-16 17:16:49 +01:00
parent dbd6a8d1d2
commit bdf880d8fa
19 changed files with 75 additions and 39 deletions

View File

@ -60,7 +60,7 @@ MIN_VER = controllers_base.Version(
{controllers_base.Version.string: MIN_VER_STR}, MIN_VER_STR, MAX_VER_STR) {controllers_base.Version.string: MIN_VER_STR}, MIN_VER_STR, MAX_VER_STR)
MAX_VER = controllers_base.Version( MAX_VER = controllers_base.Version(
{controllers_base.Version.string: MAX_VER_STR}, {controllers_base.Version.string: MAX_VER_STR},
MIN_VER_STR, MAX_VER_STR) MIN_VER_STR, MAX_VER_STR)
class MediaType(controllers_base.APIBase): class MediaType(controllers_base.APIBase):

View File

@ -86,6 +86,7 @@ class RPCHook(hooks.PecanHook):
class NoExceptionTracebackHook(hooks.PecanHook): class NoExceptionTracebackHook(hooks.PecanHook):
"""Workaround rpc.common: deserialize_remote_exception. """Workaround rpc.common: deserialize_remote_exception.
deserialize_remote_exception builds rpc exception traceback into error deserialize_remote_exception builds rpc exception traceback into error
message which is then sent to the client. Such behavior is a security message which is then sent to the client. Such behavior is a security
concern so this hook is aimed to cut-off traceback from the error message. concern so this hook is aimed to cut-off traceback from the error message.

View File

@ -33,6 +33,7 @@ def _construct_yaml_str(self, node):
def parse(manifest_str): def parse(manifest_str):
'''Takes a string and returns a dict containing the parsed structure. '''Takes a string and returns a dict containing the parsed structure.
This includes determination of whether the string is using the This includes determination of whether the string is using the
JSON or YAML format. JSON or YAML format.
''' '''

View File

@ -96,6 +96,7 @@ def enforce(context, action=None, target=None,
# decorator) on an API method for it to work correctly # decorator) on an API method for it to work correctly
def enforce_wsgi(api_name, act=None): def enforce_wsgi(api_name, act=None):
"""This is a decorator to simplify wsgi action policy rule check. """This is a decorator to simplify wsgi action policy rule check.
:param api_name: The collection name to be evaluate. :param api_name: The collection name to be evaluate.
:param act: The function name of wsgi action. :param act: The function name of wsgi action.

View File

@ -117,6 +117,7 @@ class BayLock(object):
@contextlib.contextmanager @contextlib.contextmanager
def thread_lock(self, bay_uuid): def thread_lock(self, bay_uuid):
"""Acquire a lock and release it only if there is an exception. """Acquire a lock and release it only if there is an exception.
The release method still needs to be scheduled to be run at the The release method still needs to be scheduled to be run at the
end of the thread using the Thread.link method. end of the thread using the Thread.link method.
""" """

View File

@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
"""Magnum CA RPC handler."""
from oslo_log import log as logging from oslo_log import log as logging
@ -22,9 +21,10 @@ LOG = logging.getLogger(__name__)
class Handler(object): class Handler(object):
"""These are the backend operations. They are executed by the backend """Magnum CA RPC handler.
service. API calls via AMQP (within the ReST API) trigger the
handlers to be called. These are the backend operations. They are executed by the backend service.
API calls via AMQP (within the ReST API) trigger the handlers to be called.
""" """

View File

@ -12,11 +12,15 @@
class Handler(object): class Handler(object):
'''Listen on an AMQP queue named for the conductor. Allows individual '''Listen on an AMQP queue named for the conductor.
conductors to communicate with each other for multi-conductor support.
Allows individual conductors to communicate with each other for
multi-conductor support.
''' '''
def ping_conductor(self, context): def ping_conductor(self, context):
'''Respond affirmatively to confirm that the conductor performing the '''Respond to conductor.
Respond affirmatively to confirm that the conductor performing the
action is still alive. action is still alive.
''' '''
return True return True

View File

@ -10,7 +10,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
"""Magnum Kubernetes RPC handler."""
from oslo_log import log as logging from oslo_log import log as logging
@ -26,9 +25,10 @@ LOG = logging.getLogger(__name__)
class Handler(object): class Handler(object):
"""These are the backend operations. They are executed by the backend """Magnum Kubernetes RPC handler.
service. API calls via AMQP (within the ReST API) trigger the
handlers to be called. These are the backend operations. They are executed by the backend service.
API calls via AMQP (within the ReST API) trigger the handlers to be called.
""" """

View File

@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
"""Magnum X509KeyPair RPC handler."""
from oslo_log import log as logging from oslo_log import log as logging
@ -22,9 +21,10 @@ LOG = logging.getLogger(__name__)
class Handler(object): class Handler(object):
"""These are the backend operations. They are executed by the backend """Magnum X509KeyPair RPC handler.
service. API calls via AMQP (within the ReST API) trigger the
handlers to be called. These are the backend operations. They are executed by the backend service.
API calls via AMQP (within the ReST API) trigger the handlers to be called.
""" """

View File

@ -82,7 +82,9 @@ cfg.CONF.register_opts(template_def_opts, group='bay')
class ParameterMapping(object): class ParameterMapping(object):
"""A ParameterMapping is an association of a Heat parameter name with """A mapping associating heat param and bay/baymodel attr.
A ParameterMapping is an association of a Heat parameter name with
an attribute on a Bay, Baymodel, or both. an attribute on a Bay, Baymodel, or both.
In the case of both baymodel_attr and bay_attr being set, the Baymodel In the case of both baymodel_attr and bay_attr being set, the Baymodel
@ -120,7 +122,9 @@ class ParameterMapping(object):
class OutputMapping(object): class OutputMapping(object):
"""An OutputMapping is an association of a Heat output with a key """A mapping associating heat outputs and bay attr.
An OutputMapping is an association of a Heat output with a key
Magnum understands. Magnum understands.
""" """
@ -150,7 +154,9 @@ class OutputMapping(object):
@six.add_metaclass(abc.ABCMeta) @six.add_metaclass(abc.ABCMeta)
class TemplateDefinition(object): class TemplateDefinition(object):
'''A TemplateDefinition is essentially a mapping between Magnum objects '''A mapping between Magnum objects and Heat templates.
A TemplateDefinition is essentially a mapping between Magnum objects
and Heat templates. Each TemplateDefinition has a mapping of Heat and Heat templates. Each TemplateDefinition has a mapping of Heat
parameters. parameters.
''' '''
@ -215,7 +221,9 @@ class TemplateDefinition(object):
@classmethod @classmethod
def get_template_definition(cls, server_type, os, coe): def get_template_definition(cls, server_type, os, coe):
'''Returns the enabled TemplateDefinition class for the provided '''Get enabled TemplateDefinitions.
Returns the enabled TemplateDefinition class for the provided
bay_type. bay_type.
With the following classes: With the following classes:
@ -300,7 +308,9 @@ class TemplateDefinition(object):
return template_params return template_params
def get_heat_param(self, bay_attr=None, baymodel_attr=None): def get_heat_param(self, bay_attr=None, baymodel_attr=None):
"""Returns stack param name using bay and baymodel attributes """Returns stack param name.
Return stack param name using bay and baymodel attributes
:param bay_attr bay attribute from which it maps to stack attribute :param bay_attr bay attribute from which it maps to stack attribute
:param baymodel_attr baymodel attribute from which it maps :param baymodel_attr baymodel attribute from which it maps
to stack attribute to stack attribute

View File

@ -54,6 +54,7 @@ class MagnumObjectDictCompat(ovoo_base.VersionedObjectDictCompat):
class MagnumPersistentObject(object): class MagnumPersistentObject(object):
"""Mixin class for Persistent objects. """Mixin class for Persistent objects.
This adds the fields that we use in common for all persistent objects. This adds the fields that we use in common for all persistent objects.
""" """
fields = { fields = {

View File

@ -63,7 +63,9 @@ class ReplicationController(base.MagnumPersistentObject, base.MagnumObject,
@base.remotable_classmethod @base.remotable_classmethod
def get_by_id(cls, context, rc_id): def get_by_id(cls, context, rc_id):
"""Find a ReplicationController based on its integer id and return a """Find a ReplicationController based on its integer id.
Find ReplicationController based on id and return a
ReplicationController object. ReplicationController object.
:param rc_id: the id of a ReplicationController. :param rc_id: the id of a ReplicationController.
@ -75,8 +77,10 @@ class ReplicationController(base.MagnumPersistentObject, base.MagnumObject,
@base.remotable_classmethod @base.remotable_classmethod
def get_by_uuid(cls, context, uuid): def get_by_uuid(cls, context, uuid):
"""Find a ReplicationController based on uuid and return """Find a ReplicationController based on uuid.
a :class:`ReplicationController` object.
Find ReplicationController by uuid and return a
:class:`ReplicationController` object.
:param uuid: the uuid of a ReplicationController. :param uuid: the uuid of a ReplicationController.
:param context: Security context :param context: Security context
@ -88,8 +92,10 @@ class ReplicationController(base.MagnumPersistentObject, base.MagnumObject,
@base.remotable_classmethod @base.remotable_classmethod
def get_by_name(cls, context, name): def get_by_name(cls, context, name):
"""Find a ReplicationController based on name and return """Find a ReplicationController based on name.
a :class:`ReplicationController` object.
Find ReplicationController by name and return a
:class:`ReplicationController` object.
:param name: the name of a ReplicationController. :param name: the name of a ReplicationController.
:param context: Security context :param context: Security context

View File

@ -89,6 +89,7 @@ class Service(base.MagnumPersistentObject, base.MagnumObject,
@base.remotable_classmethod @base.remotable_classmethod
def get_by_name(cls, context, name): def get_by_name(cls, context, name):
"""Find a service based on service name and """Find a service based on service name and
return a :class:`Service` object. return a :class:`Service` object.
:param name: the name of a service. :param name: the name of a service.

View File

@ -58,8 +58,9 @@ class X509KeyPair(base.MagnumPersistentObject, base.MagnumObject,
@base.remotable_classmethod @base.remotable_classmethod
def get(cls, context, x509keypair_id): def get(cls, context, x509keypair_id):
"""Find a x509keypair_id based on its id or uuid and return a """Find a X509KeyPair based on its id or uuid.
X509KeyPair object.
Find X509KeyPair by id or uuid and return a X509KeyPair object.
:param x509keypair_id: the id *or* uuid of a x509keypair. :param x509keypair_id: the id *or* uuid of a x509keypair.
:returns: a :class:`X509KeyPair` object. :returns: a :class:`X509KeyPair` object.
@ -73,8 +74,9 @@ class X509KeyPair(base.MagnumPersistentObject, base.MagnumObject,
@base.remotable_classmethod @base.remotable_classmethod
def get_by_id(cls, context, x509keypair_id): def get_by_id(cls, context, x509keypair_id):
"""Find a x509keypair based on its integer id and return a """Find a X509KeyPair based on its integer id.
X509KeyPair object.
Find X509KeyPair by id and return a X509KeyPair object.
:param x509keypair_id: the id of a x509keypair. :param x509keypair_id: the id of a x509keypair.
:returns: a :class:`X509KeyPair` object. :returns: a :class:`X509KeyPair` object.

View File

@ -38,8 +38,7 @@ class BaseMagnumClient(rest_client.RestClient):
class MagnumClient(BaseMagnumClient): class MagnumClient(BaseMagnumClient):
"""Responsible for setting up auth provider for default user """Responsible for setting up auth provider for default user"""
"""
def get_auth_provider(self): def get_auth_provider(self):
mgr = manager.Manager() mgr = manager.Manager()

View File

@ -12,7 +12,6 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
"""Base classes for API tests."""
# NOTE: Ported from ceilometer/tests/api.py (subsequently moved to # NOTE: Ported from ceilometer/tests/api.py (subsequently moved to
# ceilometer/tests/api/__init__.py). This should be oslo'ified: # ceilometer/tests/api/__init__.py). This should be oslo'ified:
@ -33,8 +32,10 @@ PATH_PREFIX = '/v1'
class FunctionalTest(base.DbTestCase): class FunctionalTest(base.DbTestCase):
"""Used for functional tests of Pecan controllers where you need to """Base class for API tests.
test your literal application and its integration with the
Pecan controller test. Used for functional tests of Pecan controllers where
you need to test your literal application and its integration with the
framework. framework.
""" """

View File

@ -58,6 +58,7 @@ def get_test_baymodel(**kw):
def create_test_baymodel(**kw): def create_test_baymodel(**kw):
"""Create test baymodel entry in DB and return BayModel DB object. """Create test baymodel entry in DB and return BayModel DB object.
Function to be used to create test BayModel objects in the database. Function to be used to create test BayModel objects in the database.
:param kw: kwargs with overriding values for baymodel's attributes. :param kw: kwargs with overriding values for baymodel's attributes.
:returns: Test BayModel DB object. :returns: Test BayModel DB object.
@ -97,6 +98,7 @@ def get_test_bay(**kw):
def create_test_bay(**kw): def create_test_bay(**kw):
"""Create test bay entry in DB and return Bay DB object. """Create test bay entry in DB and return Bay DB object.
Function to be used to create test Bay objects in the database. Function to be used to create test Bay objects in the database.
:param kw: kwargs with overriding values for bay's attributes. :param kw: kwargs with overriding values for bay's attributes.
:returns: Test Bay DB object. :returns: Test Bay DB object.
@ -129,6 +131,7 @@ def get_test_pod(**kw):
def create_test_pod(**kw): def create_test_pod(**kw):
"""Create test pod entry in DB and return Pod DB object. """Create test pod entry in DB and return Pod DB object.
Function to be used to create test Pod objects in the database. Function to be used to create test Pod objects in the database.
:param kw: kwargs with overriding values for pod's attributes. :param kw: kwargs with overriding values for pod's attributes.
:returns: Test Pod DB object. :returns: Test Pod DB object.
@ -160,6 +163,7 @@ def get_test_service(**kw):
def create_test_service(**kw): def create_test_service(**kw):
"""Create test service entry in DB and return Service DB object. """Create test service entry in DB and return Service DB object.
Function to be used to create test Service objects in the database. Function to be used to create test Service objects in the database.
:param kw: kwargs with overriding values for service's attributes. :param kw: kwargs with overriding values for service's attributes.
:returns: Test Service DB object. :returns: Test Service DB object.
@ -188,6 +192,7 @@ def get_test_node(**kw):
def create_test_node(**kw): def create_test_node(**kw):
"""Create test node entry in DB and return Node DB object. """Create test node entry in DB and return Node DB object.
Function to be used to create test Node objects in the database. Function to be used to create test Node objects in the database.
:param kw: kwargs with overriding values for node's attributes. :param kw: kwargs with overriding values for node's attributes.
:returns: Test Node DB object. :returns: Test Node DB object.
@ -218,6 +223,7 @@ def get_test_container(**kw):
def create_test_container(**kw): def create_test_container(**kw):
"""Create test container entry in DB and return Container DB object. """Create test container entry in DB and return Container DB object.
Function to be used to create test Container objects in the database. Function to be used to create test Container objects in the database.
:param kw: kwargs with overriding values for container's attributes. :param kw: kwargs with overriding values for container's attributes.
:returns: Test Container DB object. :returns: Test Container DB object.
@ -249,6 +255,7 @@ def get_test_rc(**kw):
def create_test_rc(**kw): def create_test_rc(**kw):
"""Create test rc entry in DB and return ReplicationController DB object. """Create test rc entry in DB and return ReplicationController DB object.
Function to be used to create test ReplicationController objects in the Function to be used to create test ReplicationController objects in the
database. database.
:param kw: kwargs with overriding values for :param kw: kwargs with overriding values for
@ -292,6 +299,7 @@ def get_test_x509keypair(**kw):
def create_test_x509keypair(**kw): def create_test_x509keypair(**kw):
"""Create test x509keypair entry in DB and return X509KeyPair DB object. """Create test x509keypair entry in DB and return X509KeyPair DB object.
Function to be used to create test X509KeyPair objects in the database. Function to be used to create test X509KeyPair objects in the database.
:param kw: kwargs with overriding values for x509keypair's attributes. :param kw: kwargs with overriding values for x509keypair's attributes.
:returns: Test X509KeyPair DB object. :returns: Test X509KeyPair DB object.

View File

@ -21,7 +21,9 @@ from magnum.tests import base
class HackingTestCase(base.TestCase): class HackingTestCase(base.TestCase):
"""This class tests the hacking checks in magnum.hacking.checks by passing """Hacking test class.
This class tests the hacking checks in magnum.hacking.checks by passing
strings to the check methods like the pep8/flake8 parser would. The parser strings to the check methods like the pep8/flake8 parser would. The parser
loops over each line in the file and then passes the parameters to the loops over each line in the file and then passes the parameters to the
check method. The parameter names in the check method dictate what type of check method. The parameter names in the check method dictate what type of

View File

@ -55,11 +55,9 @@ commands =
[flake8] [flake8]
# E711 is ignored because it is normal to use "column == None" in sqlalchemy # E711 is ignored because it is normal to use "column == None" in sqlalchemy
# The rest of the ignores are TODOs
# New from hacking 0.9: E129, E131, H407, H405, H904
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301 # E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301
ignore = E131,E251,H405,E711 ignore = E251,E711
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,magnum/common/pythonk8sclient exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,magnum/common/pythonk8sclient
[hacking] [hacking]