in experimenter/experimenter/experiments/models.py [0:0]
def audience_overlap_warnings(self):
warnings = []
excluded_live_deliveries = ""
if self.excluded_live_deliveries:
excluded_live_deliveries = ", ".join(self.excluded_live_deliveries)
feature_has_live_multifeature_experiments = ""
if self.feature_has_live_multifeature_experiments:
feature_has_live_multifeature_experiments = ", ".join(
self.feature_has_live_multifeature_experiments
)
live_experiments_in_namespace = ""
if self.live_experiments_in_namespace:
live_experiments_in_namespace = ", ".join(self.live_experiments_in_namespace)
overlapping_warnings = (
feature_has_live_multifeature_experiments
and live_experiments_in_namespace
and feature_has_live_multifeature_experiments in live_experiments_in_namespace
)
if self.status in [NimbusConstants.Status.DRAFT, NimbusConstants.Status.PREVIEW]:
if excluded_live_deliveries:
warnings.append(
{
"text": NimbusUIConstants.EXCLUDING_EXPERIMENTS_WARNING,
"slugs": self.excluded_live_deliveries,
"variant": "warning",
"learn_more_link": NimbusUIConstants.AUDIENCE_OVERLAP_WARNING,
}
)
if live_experiments_in_namespace and not overlapping_warnings:
warnings.append(
{
"text": NimbusUIConstants.LIVE_EXPERIMENTS_BUCKET_WARNING,
"slugs": self.live_experiments_in_namespace,
"variant": "warning",
"learn_more_link": NimbusUIConstants.AUDIENCE_OVERLAP_WARNING,
}
)
if feature_has_live_multifeature_experiments:
warnings.append(
{
"text": NimbusUIConstants.LIVE_MULTIFEATURE_WARNING,
"slugs": self.feature_has_live_multifeature_experiments,
"variant": "warning",
"learn_more_link": NimbusUIConstants.AUDIENCE_OVERLAP_WARNING,
}
)
return warnings