+ roles = {}
+ for role in Roles(self.api):
+ roles[role['role_id']] = role['name']
+ roles[role['name']] = role['role_id']
+
+ if role_id_or_name not in roles:
+ raise PLCInvalidArgument, "Invalid role identifier or name"
+
+ if isinstance(role_id_or_name, int):
+ role_id = role_id_or_name
+ else:
+ role_id = roles[role_id_or_name]
+
+ if roles[role_id] != "pi":