@@ -1203,17 +1203,32 @@ def _create_optimizely_decision(
1203
1203
else None
1204
1204
)
1205
1205
1206
- rollout_id = None
1207
- if decision_source == DecisionSources .ROLLOUT and feature_flag is not None :
1208
- rollout_id = feature_flag .rolloutId
1206
+ # rollout_id = None
1207
+ # if decision_source == DecisionSources.ROLLOUT and feature_flag is not None:
1208
+ # rollout_id = feature_flag.rolloutId
1209
+ # experiment_id = None
1210
+ # if rule_key is not None:
1211
+ # experiment_id = project_config.get_experiment_id_by_key_or_rollout_id(rule_key, rollout_id)
1212
+ # variation_id = None
1213
+ # if experiment_id and variation_key:
1214
+ # variation = project_config.get_variation_from_key_by_experiment_id(experiment_id, variation_key)
1215
+ # if variation:
1216
+ # variation_id = variation.id
1217
+
1209
1218
experiment_id = None
1210
- if rule_key is not None :
1211
- experiment_id = project_config .get_experiment_id_by_key_or_rollout_id (rule_key , rollout_id )
1212
1219
variation_id = None
1213
- if experiment_id and variation_key :
1214
- variation = project_config .get_variation_from_key_by_experiment_id (experiment_id , variation_key )
1215
- if variation :
1216
- variation_id = variation .id
1220
+
1221
+ try :
1222
+ if flag_decision .experiment is not None :
1223
+ experiment_id = flag_decision .experiment .id
1224
+ except AttributeError :
1225
+ self .logger .warning ("flag_decision.experiment has no attribute 'id'" )
1226
+
1227
+ try :
1228
+ if flag_decision .variation is not None :
1229
+ variation_id = flag_decision .variation .id
1230
+ except AttributeError :
1231
+ self .logger .warning ("flag_decision.variation has no attribute 'id'" )
1217
1232
1218
1233
# Send notification
1219
1234
self .notification_center .send_notifications (
0 commit comments