in experimenter/experimenter/legacy/legacy_experiments/api/v2/serializers.py [0:0]
def to_representation(self, data):
data = super().to_representation(data)
initial_fields = set(self.child.fields) - set(["id"])
if data == []:
blank_variant = {}
control_blank_variant = {}
for field in initial_fields:
blank_variant[field] = None
control_blank_variant[field] = None
blank_variant["is_control"] = False
blank_variant["ratio"] = 50
control_blank_variant["is_control"] = True
control_blank_variant["ratio"] = 50
data = [control_blank_variant, blank_variant]
if "preferences" in initial_fields:
for variant in data:
if not variant["preferences"]:
variant["preferences"] = [{}]
control_branch = [b for b in data if b["is_control"]][0]
treatment_branches = sorted(
[b for b in data if not b["is_control"]], key=lambda b: b.get("id")
)
return [control_branch] + treatment_branches