diff options
author | Lukasz Rajewski <lukasz.rajewski@orange.com> | 2020-05-11 17:38:06 +0200 |
---|---|---|
committer | Lukasz Rajewski <lukasz.rajewski@orange.com> | 2020-05-11 20:03:16 +0200 |
commit | 76efb65c4fffbd5b940a75c36329a2e0409be382 (patch) | |
tree | d8185fa040174641728c1dbbdd66085733c736dd /osdf | |
parent | 1b493a741b87880181a027fe102d295fcbd6f7cb (diff) |
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 <lukasz.rajewski@orange.com>
Diffstat (limited to 'osdf')
-rw-r--r-- | osdf/adapters/policy/interface.py | 9 |
1 files changed, 5 insertions, 4 deletions
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: |