summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oslo_policy/policy.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/oslo_policy/policy.py b/oslo_policy/policy.py
index 46c2362..342bf01 100644
--- a/oslo_policy/policy.py
+++ b/oslo_policy/policy.py
@@ -343,7 +343,11 @@ class Rules(dict):
"""
parsed_file = parse_file_contents(data)
- return cls.from_dict(parsed_file, default_rule)
+
+ # Parse the rules
+ rules = {k: _parser.parse_rule(v) for k, v in parsed_file.items()}
+
+ return cls(rules, default_rule)
@classmethod
def load_json(cls, data, default_rule=None):
@@ -365,10 +369,7 @@ class Rules(dict):
"""Allow loading of rule data from a dictionary."""
# Parse the rules stored in the dictionary
- rules = dict()
- for k, v in rules_dict.items():
- LOG.debug('Processing policy: "%s": "%s"', k, v)
- rules[k] = _parser.parse_rule(v)
+ rules = {k: _parser.parse_rule(v) for k, v in rules_dict.items()}
return cls(rules, default_rule)