Skip to content

Commit 4e9cdc2

Browse files
committed
Use json_loads_or_raw in swf.Executor
Signed-off-by: Yves Bastide <yves@botify.com>
1 parent c44f556 commit 4e9cdc2

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

simpleflow/swf/executor.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,21 @@
2222
from simpleflow.history import History
2323
from simpleflow.marker import Marker
2424
from simpleflow.signal import WaitForSignal
25+
from simpleflow.swf import constants
2526
from simpleflow.swf.helpers import swf_identity
2627
from simpleflow.swf.task import ActivityTask, WorkflowTask, SignalTask, MarkerTask, SwfTask
2728
from simpleflow.task import (
2829
ActivityTask as BaseActivityTask,
2930
WorkflowTask as BaseWorkflowTask,
3031
SignalTask as BaseSignalTask,
3132
MarkerTask as BaseMarkerTask,
33+
from simpleflow.utils import (
34+
hex_hash,
35+
issubclass_,
36+
json_dumps,
37+
json_loads_or_raw,
38+
retry,
3239
)
33-
from simpleflow.utils import issubclass_, json_dumps, hex_hash
34-
from simpleflow.swf import constants
35-
from simpleflow.utils import retry
3640
from simpleflow.workflow import Workflow
3741
from swf.core import ConnectedSWFObject
3842

@@ -264,7 +268,7 @@ def _get_future_from_activity_event(self, event):
264268
future.set_running()
265269
elif state == 'completed':
266270
result = event['result']
267-
future.set_finished(json.loads(result) if result else None)
271+
future.set_finished(json_loads_or_raw(result))
268272
elif state == 'canceled':
269273
future.set_cancelled()
270274
elif state == 'failed':
@@ -318,7 +322,7 @@ def _get_future_from_child_workflow_event(self, event):
318322
elif state == 'started':
319323
future.set_running()
320324
elif state == 'completed':
321-
future.set_finished(json.loads(event['result']))
325+
future.set_finished(json_loads_or_raw(event['result']))
322326
elif state == 'failed':
323327
future.set_exception(exceptions.TaskFailed(
324328
name=event['id'],
@@ -1056,10 +1060,13 @@ def record_marker(self, name, details=None):
10561060

10571061
def list_markers(self, all=False):
10581062
if all:
1059-
return [Marker(m['name'], json.loads(m['details'])) for ml in self._history.markers.values() for m in ml]
1063+
return [
1064+
Marker(m['name'], json_loads_or_raw(m['details']))
1065+
for ml in self._history.markers.values() for m in ml
1066+
]
10601067
rc = []
10611068
for ml in self._history.markers.values():
10621069
m = ml[-1]
10631070
if m['state'] == 'recorded':
1064-
rc.append(Marker(m['name'], json.loads(m['details'])))
1071+
rc.append(Marker(m['name'], json_loads_or_raw(m['details'])))
10651072
return rc

0 commit comments

Comments
 (0)