diff options
Diffstat (limited to 'osdf/adapters/policy/utils.py')
-rw-r--r-- | osdf/adapters/policy/utils.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/osdf/adapters/policy/utils.py b/osdf/adapters/policy/utils.py index a006f12..27885a5 100644 --- a/osdf/adapters/policy/utils.py +++ b/osdf/adapters/policy/utils.py @@ -31,10 +31,12 @@ def group_policies(flat_policies): filter_policies = defaultdict(list) policy_name = [] for policy in flat_policies: - policy_type = policy['content']['type'] + policy_type = policy['content'].get('policyType') + if not policy_type: + continue if policy_type not in aggregated_policies: aggregated_policies[policy_type] = defaultdict(list) - for resource in policy['content']['policyScope']['resourceInstanceType']: + for resource in policy['content'].get('resourceInstanceType', []): aggregated_policies[policy_type][resource].append(policy) for policy_type in aggregated_policies: for resource in aggregated_policies[policy_type]: @@ -42,7 +44,7 @@ def group_policies(flat_policies): aggregated_policies[policy_type][resource].sort(key=lambda x: x['priority'], reverse=True) policy = aggregated_policies[policy_type][resource][0] if policy['policyName'] not in policy_name: - filter_policies[policy['content']['type']].append(policy) + filter_policies[policy['content']['policyType']].append(policy) policy_name.append(policy['policyName']) return filter_policies |