def __init__(self, policies=None):
if policies is None:
policies = self.policies
if not isinstance(policies, compat.Mapping):
raise ValueError("policies must be a mapping of bytes"
" method names to sequence of policies.")
allowedMethods = getattr(self, 'allowedMethods', None)
if not allowedMethods:
raise ValueError("instance must have allowedMethods")
required = set(allowedMethods)
available = six.viewkeys(policies)
missing = required - available
if missing:
raise ValueError("missing methods: {}".format(missing))
# adapt any policies we have to our resource
self._actingPolicies = {method: tuple(p.forResource(self)
for p in methodPolicies)
for method, methodPolicies in policies.items()}
评论列表
文章目录