MCPcopy
hub / github.com/burnash/gspread / remove_permissions

Method remove_permissions

gspread/spreadsheet.py:550–580  ·  view source on GitHub ↗

Remove permissions from a user or domain. :param value: User or domain to remove permissions from :type value: str :param role: (optional) Permission to remove. Defaults to all permissions. :type role: str Example:: # Remove

(self, value: str, role: str = "any")

Source from the content-addressed store, hash-verified

548 return self.client.list_permissions(self.id)
549
550 def remove_permissions(self, value: str, role: str = "any") -> List[str]:
551 """Remove permissions from a user or domain.
552
553 :param value: User or domain to remove permissions from
554 :type value: str
555 :param role: (optional) Permission to remove. Defaults to all
556 permissions.
557 :type role: str
558
559 Example::
560
561 # Remove Otto's write permission for this spreadsheet
562 sh.remove_permissions('otto@example.com', role='writer')
563
564 # Remove all Otto's permissions for this spreadsheet
565 sh.remove_permissions('otto@example.com')
566 """
567 permission_list = self.client.list_permissions(self.id)
568
569 key = "emailAddress" if "@" in value else "domain"
570
571 filtered_id_list: List[str] = [
572 str(p["id"])
573 for p in permission_list
574 if p.get(key) == value and (p["role"] == role or role == "any")
575 ]
576
577 for permission_id in filtered_id_list:
578 self.client.remove_permission(self.id, permission_id)
579
580 return filtered_id_list
581
582 def transfer_ownership(self, permission_id: str) -> Response:
583 """Transfer the ownership of this file to a new user.

Callers

nothing calls this directly

Calls 3

getMethod · 0.80
list_permissionsMethod · 0.45
remove_permissionMethod · 0.45

Tested by

no test coverage detected