diff options
-rw-r--r-- | oslo_policy/policy.py | 11 |
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) |