Fix most of the hacking rules

Hacking rules: H302, H303, H304, H401, H404

Change-Id: I38e62696724a99c5ebe74d95d477999bd91a2c9a
This commit is contained in:
Angus Salkeld
2013-06-25 22:48:23 +10:00
parent 6b17ba8ab7
commit a7482eaa18
9 changed files with 38 additions and 44 deletions

View File

@@ -19,17 +19,16 @@
import logging import logging
import traceback as tb import traceback as tb
from celery.signals import task_failure from celery import signals
from celery.signals import task_success
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@task_failure.connect @signals.task_failure.connect
def task_error_handler(signal=None, sender=None, task_id=None, def task_error_handler(signal=None, sender=None, task_id=None,
exception=None, args=None, kwargs=None, exception=None, args=None, kwargs=None,
traceback=None, einfo=None): traceback=None, einfo=None):
""" If a task errors out, log all error info """ """If a task errors out, log all error info"""
LOG.error('Task %s, id: %s, called with args: %s, and kwargs: %s' LOG.error('Task %s, id: %s, called with args: %s, and kwargs: %s'
'failed with exception: %s' % (sender.name, task_id, 'failed with exception: %s' % (sender.name, task_id,
args, kwargs, exception)) args, kwargs, exception))
@@ -37,7 +36,7 @@ def task_error_handler(signal=None, sender=None, task_id=None,
# TODO(jlucci): Auto-initiate rollback from failed task # TODO(jlucci): Auto-initiate rollback from failed task
@task_success.connect @signals.task_success.connect
def task_success_handler(singal=None, sender=None, result=None): def task_success_handler(singal=None, sender=None, result=None):
""" Save task results to WF """ """Save task results to WF."""
pass pass

View File

@@ -16,8 +16,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from datetime import datetime import datetime
import functools import functools
import logging import logging
import threading import threading
@@ -198,7 +197,7 @@ class MemoryJobBoard(jobboard.JobBoard):
@check_not_closed @check_not_closed
def post(self, job): def post(self, job):
with self._lock.acquire(read=False): with self._lock.acquire(read=False):
self._board.append((datetime.utcnow(), job)) self._board.append((datetime.datetime.utcnow(), job))
# Ensure the job tracks that we posted it # Ensure the job tracks that we posted it
job.posted_on.append(weakref.proxy(self)) job.posted_on.append(weakref.proxy(self))
# Let people know a job is here # Let people know a job is here

View File

@@ -24,7 +24,7 @@ import logging
from taskflow import states from taskflow import states
from taskflow.db.sqlalchemy import models from taskflow.db.sqlalchemy import models
from taskflow.db.sqlalchemy.session import get_session from taskflow.db.sqlalchemy import session as sql_session
from taskflow.openstack.common import exception from taskflow.openstack.common import exception
@@ -32,7 +32,7 @@ LOG = logging.getLogger(__name__)
def model_query(context, *args, **kwargs): def model_query(context, *args, **kwargs):
session = kwargs.get('session') or get_session() session = kwargs.get('session') or sql_session.get_session()
query = session.query(*args) query = session.query(*args)
return query return query
@@ -80,7 +80,7 @@ def logbook_create(context, name, lb_id=None):
def logbook_get_workflows(context, lb_id): def logbook_get_workflows(context, lb_id):
"""Return all workflows associated with a logbook""" """Return all workflows associated with a logbook"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
lb = logbook_get(context, lb_id, session=session) lb = logbook_get(context, lb_id, session=session)
@@ -89,7 +89,7 @@ def logbook_get_workflows(context, lb_id):
def logbook_add_workflow(context, lb_id, wf_name): def logbook_add_workflow(context, lb_id, wf_name):
"""Add Workflow to given LogBook""" """Add Workflow to given LogBook"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
wf = workflow_get(context, wf_name, session=session) wf = workflow_get(context, wf_name, session=session)
lb = logbook_get(context, lb_id, session=session) lb = logbook_get(context, lb_id, session=session)
@@ -101,7 +101,7 @@ def logbook_add_workflow(context, lb_id, wf_name):
def logbook_destroy(context, lb_id): def logbook_destroy(context, lb_id):
"""Delete a given LogBook""" """Delete a given LogBook"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
lb = logbook_get(context, lb_id, session=session) lb = logbook_get(context, lb_id, session=session)
lb.delete(session=session) lb.delete(session=session)
@@ -126,7 +126,7 @@ def job_get(context, job_id, session=None):
def job_update(context, job_id, values): def job_update(context, job_id, values):
"""Update job with given values""" """Update job with given values"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
job = job_get(context, job_id, session=session) job = job_get(context, job_id, session=session)
job.update(values) job.update(values)
@@ -135,7 +135,7 @@ def job_update(context, job_id, values):
def job_add_workflow(context, job_id, wf_id): def job_add_workflow(context, job_id, wf_id):
"""Add a Workflow to given job""" """Add a Workflow to given job"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
job = job_get(context, job_id, session=session) job = job_get(context, job_id, session=session)
wf = workflow_get(context, wf_id, session=session) wf = workflow_get(context, wf_id, session=session)
@@ -157,7 +157,7 @@ def job_get_state(context, job_id):
def job_get_logbook(context, job_id): def job_get_logbook(context, job_id):
"""Return the logbook associated with the given job""" """Return the logbook associated with the given job"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
job = job_get(context, job_id, session=session) job = job_get(context, job_id, session=session)
return job.logbook return job.logbook
@@ -177,7 +177,7 @@ def job_create(context, name, job_id=None):
def job_destroy(context, job_id): def job_destroy(context, job_id):
"""Delete a given Job""" """Delete a given Job"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
job = job_get(context, job_id, session=session) job = job_get(context, job_id, session=session)
job.delete(session=session) job.delete(session=session)
@@ -218,7 +218,7 @@ def workflow_get_names(context):
def workflow_get_tasks(context, wf_name): def workflow_get_tasks(context, wf_name):
"""Return all tasks for a given Workflow""" """Return all tasks for a given Workflow"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
wf = workflow_get(context, wf_name, session=session) wf = workflow_get(context, wf_name, session=session)
@@ -227,7 +227,7 @@ def workflow_get_tasks(context, wf_name):
def workflow_add_task(context, wf_id, task_id): def workflow_add_task(context, wf_id, task_id):
"""Add a task to a given workflow""" """Add a task to a given workflow"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
task = task_get(context, task_id, session=session) task = task_get(context, task_id, session=session)
wf = workflow_get(context, wf_id, session=session) wf = workflow_get(context, wf_id, session=session)
@@ -246,7 +246,7 @@ def workflow_create(context, workflow_name):
def workflow_destroy(context, wf_name): def workflow_destroy(context, wf_name):
"""Delete a given Workflow""" """Delete a given Workflow"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
wf = workflow_get(context, wf_name, session=session) wf = workflow_get(context, wf_name, session=session)
wf.delete(session=session) wf.delete(session=session)
@@ -283,7 +283,7 @@ def task_create(context, task_name, wf_id, task_id=None):
def task_update(context, task_id, values): def task_update(context, task_id, values):
"""Update Task with given values""" """Update Task with given values"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
task = task_get(context, task_id) task = task_get(context, task_id)
@@ -293,7 +293,7 @@ def task_update(context, task_id, values):
def task_destroy(context, task_id): def task_destroy(context, task_id):
"""Delete an existing Task""" """Delete an existing Task"""
session = get_session() session = sql_session.get_session()
with session.begin(): with session.begin():
task = task_get(context, task_id, session=session) task = task_get(context, task_id, session=session)
task.delete(session=session) task.delete(session=session)

View File

@@ -29,8 +29,7 @@ from sqlalchemy.orm import object_mapper, relationship
from sqlalchemy import DateTime, ForeignKey from sqlalchemy import DateTime, ForeignKey
from sqlalchemy import types as types from sqlalchemy import types as types
from taskflow.db.sqlalchemy.session import get_engine from taskflow.db.sqlalchemy import session as sql_session
from taskflow.db.sqlalchemy.session import get_session
from taskflow.openstack.common import exception from taskflow.openstack.common import exception
from taskflow.openstack.common import timeutils from taskflow.openstack.common import timeutils
from taskflow.openstack.common import uuidutils from taskflow.openstack.common import uuidutils
@@ -59,7 +58,7 @@ class TaskFlowBase(object):
def save(self, session=None): def save(self, session=None):
"""Save this object.""" """Save this object."""
if not session: if not session:
session = get_session() session = sql_session.get_session()
session.add(self) session.add(self)
try: try:
session.flush() session.flush()
@@ -74,7 +73,7 @@ class TaskFlowBase(object):
self.deleted = True self.deleted = True
self.deleted_at = timeutils.utcnow() self.deleted_at = timeutils.utcnow()
if not session: if not session:
session = get_session() session = sql_session.get_session()
session.delete(self) session.delete(self)
session.flush() session.flush()
@@ -182,4 +181,4 @@ class Task(BASE, TaskFlowBase):
def create_tables(): def create_tables():
BASE.metadata.create_all(get_engine()) BASE.metadata.create_all(sql_session.get_engine())

View File

@@ -52,8 +52,7 @@ def synchronous_switch_listener(dbapi_conn, connection_rec):
def ping_listener(dbapi_conn, connection_rec, connection_proxy): def ping_listener(dbapi_conn, connection_rec, connection_proxy):
""" """Ensures that MySQL connections checked out of the
Ensures that MySQL connections checked out of the
pool are alive. pool are alive.
Borrowed from: Borrowed from:

View File

@@ -17,16 +17,15 @@
# under the License. # under the License.
import abc import abc
import datetime
import weakref import weakref
from datetime import datetime
class TaskDetail(object): class TaskDetail(object):
"""Task details have the bare minimum of these fields/methods.""" """Task details have the bare minimum of these fields/methods."""
def __init__(self, name, metadata=None): def __init__(self, name, metadata=None):
self.date_created = datetime.utcnow() self.date_created = datetime.datetime.utcnow()
self.name = name self.name = name
self.metadata = metadata self.metadata = metadata
self.date_updated = None self.date_updated = None

View File

@@ -17,11 +17,11 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import celery
import logging import logging
from taskflow import logbook from taskflow import logbook
from celery import chord
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@@ -37,7 +37,7 @@ class Flow(object):
logbook.add_workflow(name) logbook.add_workflow(name)
def chain_listeners(self, context, initial_task, callback_task): def chain_listeners(self, context, initial_task, callback_task):
""" Register one listener for a task """ """Register one listener for a task."""
if self.root is None: if self.root is None:
initial_task.name = '%s.%s' % (self.name, initial_task.name) initial_task.name = '%s.%s' % (self.name, initial_task.name)
self.root = initial_task.s(context) self.root = initial_task.s(context)
@@ -50,7 +50,7 @@ class Flow(object):
initial_task.link(callback_task.s(context)) initial_task.link(callback_task.s(context))
def split_listeners(self, context, initial_task, callback_tasks): def split_listeners(self, context, initial_task, callback_tasks):
""" Register multiple listeners for one task """ """Register multiple listeners for one task."""
if self.root is None: if self.root is None:
initial_task.name = '%s.%s' % (self.name, initial_task.name) initial_task.name = '%s.%s' % (self.name, initial_task.name)
self.root = initial_task.s(context) self.root = initial_task.s(context)
@@ -62,7 +62,7 @@ class Flow(object):
initial_task.link(task.s(context)) initial_task.link(task.s(context))
def merge_listeners(self, context, initial_tasks, callback_task): def merge_listeners(self, context, initial_tasks, callback_task):
""" Register one listener for multiple tasks """ """Register one listener for multiple tasks."""
header = [] header = []
if self.root is None: if self.root is None:
self.root = [] self.root = []
@@ -79,9 +79,9 @@ class Flow(object):
# TODO(jlucci): Need to set up chord so that it's not executed # TODO(jlucci): Need to set up chord so that it's not executed
# immediately. # immediately.
chord(header, body=callback_task) celery.chord(header, body=callback_task)
def run(self, context, *args, **kwargs): def run(self, context, *args, **kwargs):
""" Start root task and kick off workflow """ """Start root task and kick off workflow."""
self.root(context) self.root(context)
LOG.info('WF %s has been started' % (self.name,)) LOG.info('WF %s has been started' % (self.name,))

View File

@@ -16,8 +16,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from datetime import datetime import datetime
import functools import functools
import threading import threading
import unittest2 import unittest2
@@ -65,7 +64,7 @@ class MemoryBackendTest(unittest2.TestCase):
if not my_jobs: if not my_jobs:
# No jobs were claimed, lets not search the past again # No jobs were claimed, lets not search the past again
# then, since *likely* those jobs will remain claimed... # then, since *likely* those jobs will remain claimed...
job_search_from = datetime.utcnow() job_search_from = datetime.datetime.utcnow()
if my_jobs and poison.isSet(): if my_jobs and poison.isSet():
# Oh crap, we need to unclaim and repost the jobs. # Oh crap, we need to unclaim and repost the jobs.
for j in my_jobs: for j in my_jobs:
@@ -215,7 +214,7 @@ class MemoryBackendTest(unittest2.TestCase):
j.claim(owner) j.claim(owner)
def receive_job(): def receive_job():
start = datetime.utcnow() start = datetime.datetime.utcnow()
receiver_awake.set() receiver_awake.set()
new_jobs = [] new_jobs = []
while not new_jobs: while not new_jobs:

View File

@@ -39,6 +39,6 @@ setenv = NOSE_WITH_COVERAGE=1
commands = {posargs} commands = {posargs}
[flake8] [flake8]
ignore = H302,H303,H304,H401,H402,H403,H404 ignore = H402,H403
builtins = _ builtins = _
exclude = .venv,.tox,dist,doc,*openstack/common*,*egg,.git,build,tools exclude = .venv,.tox,dist,doc,*openstack/common*,*egg,.git,build,tools