Skip to content

Commit b6d96a7

Browse files
fix: correcting metadata and decision payload (#303)
1 parent 76698f7 commit b6d96a7

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

optimizely/event/event_factory.py

+13-3
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,20 @@ def _create_visitor(cls, event, logger):
8989
"""
9090

9191
if isinstance(event, user_event.ImpressionEvent):
92-
metadata = payload.Metadata(event.flag_key, event.rule_key, event.rule_type, event.variation.key)
93-
decision = payload.Decision(event.experiment.layerId, event.experiment.id, event.variation.id, metadata)
92+
experiment_layerId, experiment_id, variation_id, variation_key = '', '', '', ''
93+
94+
if event.variation:
95+
variation_id = event.variation.id
96+
variation_key = event.variation.key
97+
98+
if event.experiment:
99+
experiment_layerId = event.experiment.layerId
100+
experiment_id = event.experiment.id
101+
102+
metadata = payload.Metadata(event.flag_key, event.rule_key, event.rule_type, variation_key)
103+
decision = payload.Decision(experiment_layerId, experiment_id, variation_id, metadata)
94104
snapshot_event = payload.SnapshotEvent(
95-
event.experiment.layerId, event.uuid, cls.ACTIVATE_EVENT_KEY, event.timestamp,
105+
experiment_layerId, event.uuid, cls.ACTIVATE_EVENT_KEY, event.timestamp,
96106
)
97107

98108
snapshot = payload.Snapshot([snapshot_event], [decision])

0 commit comments

Comments
 (0)