From 97ba68d7b56d43400808b728d405759443c74b17 Mon Sep 17 00:00:00 2001 From: Chaim Sanders Date: Sat, 16 Sep 2023 21:34:08 -0700 Subject: [PATCH 1/2] Support creation of orgs for tenants with greater than 500 see https://github.com/code42/py42/issues/459 for more details --- src/py42/services/orgs.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/py42/services/orgs.py b/src/py42/services/orgs.py index 79ee0abe..9a2fa560 100644 --- a/src/py42/services/orgs.py +++ b/src/py42/services/orgs.py @@ -287,13 +287,12 @@ def _get_guid_by_id(self, org_id, id_key="orgId"): # Use additional lookup to prevent breaking changes. if id_key != "orgId": - guid = "" - page = self.get_page() - for org in page["orgs"]: - if org[id_key] == org_id: - return org["orgGuid"] - if not guid: - raise Py42Error(f"Couldn't find an Org with ID '{org_id}'.") + pages = self.get_all() + for page in pages: + for org in page.data["orgs"]: + if org[id_key] == org_id: + return org["orgGuid"] + raise Py42Error(f"Couldn't find an Org with {id_key} '{org_id}'.") else: try: return self.org_id_map[org_id] From 72f3dc01536adf2ac9d43f7f9076c1fac14ddf9e Mon Sep 17 00:00:00 2001 From: Chaim Sanders Date: Sat, 16 Sep 2023 23:04:56 -0700 Subject: [PATCH 2/2] Adding support for large organization count for org_id_map --- src/py42/services/orgs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/py42/services/orgs.py b/src/py42/services/orgs.py index 9a2fa560..967a7d69 100644 --- a/src/py42/services/orgs.py +++ b/src/py42/services/orgs.py @@ -28,9 +28,10 @@ def org_id_map(self): """Map org guids to ids.""" if not self._org_id_map: self._org_id_map = {} - page = self.get_page() - for org in page["orgs"]: - self._org_id_map[org["orgId"]] = org["orgGuid"] + pages = self.get_all() + for page in pages: + for org in page.data["orgs"]: + self._org_id_map[org["orgId"]] = org["orgGuid"] return self._org_id_map def create_org(self, org_name, org_ext_ref=None, notes=None, parent_org_uid=None):