def handle(slice): | |
from core.models import SiteDeployments,SliceDeployments,Deployment | |
from collections import defaultdict | |
site_deployments = SiteDeployments.objects.all() | |
site_deploy_lookup = defaultdict(list) | |
for site_deployment in site_deployments: | |
site_deploy_lookup[site_deployment.site].append(site_deployment.deployment) | |
slice_deployments = SliceDeployments.objects.all() | |
slice_deploy_lookup = defaultdict(list) | |
for slice_deployment in slice_deployments: | |
slice_deploy_lookup[slice_deployment.slice].append(slice_deployment.deployment) | |
all_deployments = Deployment.objects.all() | |
# slices are added to all deployments for now | |
expected_deployments = all_deployments | |
#expected_deployments = site_deploy_lookup[slice.site] | |
for expected_deployment in expected_deployments: | |
if slice not in slice_deploy_lookup or \ | |
expected_deployment not in slice_deploy_lookup[slice]: | |
sd = SliceDeployments(slice=slice, deployment=expected_deployment) | |
sd.save() | |