Skip to content

Commit 129c049

Browse files
committed
Please pass FSC
1 parent d6329af commit 129c049

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

optimizely/optimizely.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -454,8 +454,12 @@ def _get_feature_variable_for_type(
454454
)
455455

456456
if decision.source in (enums.DecisionSources.FEATURE_TEST, enums.DecisionSources.HOLDOUT):
457+
experiment_key = None
458+
if decision.experiment:
459+
experiment_key = (decision.experiment['key'] if isinstance(decision.experiment, dict)
460+
else decision.experiment.key)
457461
source_info = {
458-
'experiment_key': decision.experiment.key if decision.experiment else None,
462+
'experiment_key': experiment_key,
459463
'variation_key': self._get_variation_key(decision.variation),
460464
}
461465

@@ -558,8 +562,12 @@ def _get_all_feature_variables_for_type(
558562
all_variables[variable_key] = actual_value
559563

560564
if decision.source == enums.DecisionSources.FEATURE_TEST:
565+
experiment_key = None
566+
if decision.experiment:
567+
experiment_key = (decision.experiment['key'] if isinstance(decision.experiment, dict)
568+
else decision.experiment.key)
561569
source_info = {
562-
'experiment_key': decision.experiment.key if decision.experiment else None,
570+
'experiment_key': experiment_key,
563571
'variation_key': self._get_variation_key(decision.variation),
564572
}
565573

@@ -802,19 +810,25 @@ def is_feature_enabled(self, feature_key: str, user_id: str, attributes: Optiona
802810
feature_enabled = True
803811

804812
if (is_source_rollout or not decision.variation) and project_config.get_send_flag_decisions_value():
813+
experiment_key = ''
814+
if decision.experiment:
815+
experiment_key = (decision.experiment['key'] if isinstance(decision.experiment, dict)
816+
else decision.experiment.key)
805817
self._send_impression_event(
806-
project_config, decision.experiment, decision.variation, feature.key, decision.experiment.key if
807-
decision.experiment else '', str(decision.source), feature_enabled, user_id, attributes, cmab_uuid
818+
project_config, decision.experiment, decision.variation, feature.key, experiment_key,
819+
str(decision.source), feature_enabled, user_id, attributes, cmab_uuid
808820
)
809821

810822
# Send event if Decision came from an experiment.
811823
if is_source_experiment and decision.variation and decision.experiment:
824+
experiment_key = (decision.experiment['key'] if isinstance(decision.experiment, dict)
825+
else decision.experiment.key)
812826
source_info = {
813-
'experiment_key': decision.experiment.key,
827+
'experiment_key': experiment_key,
814828
'variation_key': self._get_variation_key(decision.variation),
815829
}
816830
self._send_impression_event(
817-
project_config, decision.experiment, decision.variation, feature.key, decision.experiment.key,
831+
project_config, decision.experiment, decision.variation, feature.key, experiment_key,
818832
str(decision.source), feature_enabled, user_id, attributes, cmab_uuid
819833
)
820834

0 commit comments

Comments
 (0)