From b3aeb1b1270e86d8c85a286de3a5f8443cfee2e5 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Wed, 3 Sep 2014 15:39:13 -0400 Subject: [PATCH] Policy: Add new slices to all deployments --- .../model_policies/model_policy_Slice.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 planetstack/model_policies/model_policy_Slice.py diff --git a/planetstack/model_policies/model_policy_Slice.py b/planetstack/model_policies/model_policy_Slice.py new file mode 100644 index 0000000..5d66903 --- /dev/null +++ b/planetstack/model_policies/model_policy_Slice.py @@ -0,0 +1,23 @@ +from core.models import * + +def handle(slice): + 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() + -- 2.47.0