def generate_public_access_policy(): accessPolicy = dataoneTypes.accessPolicy() accessRule = dataoneTypes.AccessRule() accessRule.subject.append(d1_common.const.SUBJECT_PUBLIC) permission = dataoneTypes.Permission('read') accessRule.permission.append(permission) accessPolicy.append(accessRule) return accessPolicy
def _add_public_subject(self, access_policy): if access_policy is None: access_policy = dataoneTypes.accessPolicy() access_rule = dataoneTypes.AccessRule() access_rule.subject.append(d1_common.const.SUBJECT_PUBLIC) permission = dataoneTypes.Permission('read') access_rule.permission.append(permission) access_policy.append(access_rule) return access_policy
def _list_to_pyxb(self): if not self.allow: return None access_policy = dataoneTypes.accessPolicy() for subject in sorted(self.allow.keys()): access_rule = dataoneTypes.AccessRule() access_rule.subject.append(subject) permission = dataoneTypes.Permission(self.allow[subject]) access_rule.permission.append(permission) access_policy.append(access_rule) return access_policy