From 76efb65c4fffbd5b940a75c36329a2e0409be382 Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Mon, 11 May 2020 17:38:06 +0200 Subject: Fix for remote policy filtering Changed a way of processing policies by scope. Before filtering was resulting with None type access exception. Change-Id: Ide6515b4b18a2dc7344e92b32a76d00ba48d4301 Issue-ID: OPTFRA-755 Signed-off-by: Lukasz Rajewski --- osdf/adapters/policy/interface.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'osdf/adapters/policy/interface.py') diff --git a/osdf/adapters/policy/interface.py b/osdf/adapters/policy/interface.py index ccbd3dc..1e7d2cd 100644 --- a/osdf/adapters/policy/interface.py +++ b/osdf/adapters/policy/interface.py @@ -76,9 +76,10 @@ def get_by_scope(rest_client, req, config_local, type_service): keys = scope_fields.keys() & policies[policyName]['properties'].keys() policy = {} policy[policyName] = policies[policyName] - scope_policies.append(policy for k in keys - if set(policies.get(policyName, {}).get('properties',{}).get(k)) >= set(scope_fields[k]) - and policy not in scope_policies) + for k in keys: + if set(policies.get(policyName, {}).get('properties',{}).get(k)) >= set(scope_fields[k])\ + and policy not in scope_policies: + scope_policies.append(policy) return scope_policies @@ -146,7 +147,7 @@ def remote_api(req_json, osdf_config, service_type="placement"): policies = get_by_scope(rc, req_json, osdf_config.core, service_type) formatted_policies = [] - for x in itertools.chain(*policies): + for x in policies: if x[list(x.keys())[0]].get('properties') is None: raise BusinessException("Properties not found for policy with name %s" % x[list(x.keys()[0])]) else: -- cgit 1.2.3-korg