diff options
author | Ruoyu Ying <ruoyu.ying@intel.com> | 2019-12-04 00:48:46 +0800 |
---|---|---|
committer | Ruoyu Ying <ruoyu.ying@intel.com> | 2020-03-10 06:30:48 +0800 |
commit | c1625bd8163ca269ee1a6b25a1f569b97b529b17 (patch) | |
tree | 38bdef96a04d4b354d77f402a33b02773d98ed1d /osdf/adapters/policy/utils.py | |
parent | 998f35e5100014b9d639e52020a70ff4db53ddd3 (diff) |
[WIP]Migration to new policy api
*Change retrieval payload send to policy
*Change the configs inside common_config
Issue-ID: OPTFRA-520
Change-Id: I27a63294cdec3def7d415ed2dcb96e3606d9e21f
Signed-off-by: Ruoyu Ying <ruoyu.ying@intel.com>
Diffstat (limited to 'osdf/adapters/policy/utils.py')
-rw-r--r-- | osdf/adapters/policy/utils.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/osdf/adapters/policy/utils.py b/osdf/adapters/policy/utils.py index 2f873af..79047eb 100644 --- a/osdf/adapters/policy/utils.py +++ b/osdf/adapters/policy/utils.py @@ -33,11 +33,11 @@ def group_policies_gen(flat_policies, config): """ filtered_policies = defaultdict(list) policy_name = [] - policies = [x for x in flat_policies if x['content'].get('policyType')] # drop ones without 'policy_type' + policies = [x for x in flat_policies if x[list(x.keys())[0]]["type"]] # drop ones without 'type' priority = config.get('policy_info', {}).get('prioritization_attributes', {}) aggregated_policies = dict() for plc in policies: - attrs = [dot_notation(plc, dot_path) for key in priority.keys() for dot_path in priority[key]] + attrs = [dot_notation(plc[list(plc.keys())[0]], dot_path) for key in priority.keys() for dot_path in priority[key]] attrs_list = [x if isinstance(x, list) else [x] for x in attrs] attributes = [list_flatten(x) if isinstance(x, list) else x for x in attrs_list] for y in itertools.product(*attributes): @@ -45,12 +45,12 @@ def group_policies_gen(flat_policies, config): aggregated_policies[y].append(plc) for key in aggregated_policies.keys(): - aggregated_policies[key].sort(key=lambda x: x['priority'], reverse=True) + #aggregated_policies[key].sort(key=lambda x: x['priority'], reverse=True) prioritized_policy = aggregated_policies[key][0] - if prioritized_policy['policyName'] not in policy_name: + if list(prioritized_policy.keys())[0] not in policy_name: # TODO: Check logic here... should policy appear only once across all groups? - filtered_policies[prioritized_policy['content']['policyType']].append(prioritized_policy) - policy_name.append(prioritized_policy['policyName']) + filtered_policies[prioritized_policy[list(prioritized_policy.keys())[0]]['type']].append(prioritized_policy) + policy_name.append(list(prioritized_policy.keys())[0]) return filtered_policies |