Use list comprehensions instead of filter() for easier moto/swf python 3.x compatibility

This commit is contained in:
Jean-Baptiste Barth 2015-11-03 10:45:11 +01:00
parent 3a5f679783
commit b386495520
2 changed files with 7 additions and 11 deletions

View File

@ -193,7 +193,7 @@ class SWFBackend(BaseBackend):
candidates = []
for _task_list, tasks in domain.decision_task_lists.items():
if _task_list == task_list:
candidates += filter(lambda t: t.state == "SCHEDULED", tasks)
candidates += [t for t in tasks if t.state == "SCHEDULED"]
if any(candidates):
# TODO: handle task priorities (but not supported by boto for now)
task = min(candidates, key=lambda d: d.scheduled_at)
@ -293,7 +293,7 @@ class SWFBackend(BaseBackend):
candidates = []
for _task_list, tasks in domain.activity_task_lists.items():
if _task_list == task_list:
candidates += filter(lambda t: t.state == "SCHEDULED", tasks)
candidates += [t for t in tasks if t.state == "SCHEDULED"]
if any(candidates):
# TODO: handle task priorities (but not supported by boto for now)
task = min(candidates, key=lambda d: d.scheduled_at)

View File

@ -202,17 +202,13 @@ class WorkflowExecution(object):
@property
def decision_tasks(self):
return filter(
lambda t: t.workflow_execution == self,
self.domain.decision_tasks
)
return [t for t in self.domain.decision_tasks
if t.workflow_execution == self]
@property
def activity_tasks(self):
return filter(
lambda t: t.workflow_execution == self,
self.domain.activity_tasks
)
return [t for t in self.domain.activity_tasks
if t.workflow_execution == self]
def _find_decision_task(self, task_token):
for dt in self.decision_tasks:
@ -294,7 +290,7 @@ class WorkflowExecution(object):
# check decision types mandatory attributes
# NB: the real SWF service seems to check attributes even for attributes list
# that are not in line with the decisionType, so we do the same
attrs_to_check = filter(lambda x: x.endswith("DecisionAttributes"), dcs.keys())
attrs_to_check = [d for d in dcs.keys() if d.endswith("DecisionAttributes")]
if dcs["decisionType"] in self.KNOWN_DECISION_TYPES:
decision_type = dcs["decisionType"]
decision_attr = "{0}DecisionAttributes".format(decapitalize(decision_type))