Skip to content

Commit cc90d5e

Browse files
committed
fix: fix enterprise issues
1 parent ddb8fe1 commit cc90d5e

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

src/ghastoolkit/octokit/enterprise.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def getRepositories(self) -> List[Repository]:
2929
return []
3030

3131
for repository in result:
32-
repositories.append(repository.parseRepository(repository.get("full_name")))
32+
repositories.append(Repository.parseRepository(repository.get("full_name")))
3333

3434
return repositories
3535

@@ -63,6 +63,10 @@ def enableSecurityProduct(self, security_product: str) -> bool:
6363

6464
return True
6565

66+
def __str__(self) -> str:
67+
"""Return string representation."""
68+
return f"Organization('{self.name}')"
69+
6670

6771
class Enterprise:
6872
"""Enterprise API."""
@@ -109,7 +113,13 @@ def getOrganizations(self, include_github: bool = False) -> List[Organization]:
109113

110114
if len(result) < 100:
111115
break
116+
117+
if len(organizations) == 0:
118+
logger.error("Error getting last org in organizations")
119+
logger.error("Only GitHub orgs might be returned")
120+
break
121+
112122
# set last org ID
113-
last_org_id = organizations[-1].id
123+
last_org_id = organizations[-1].identifier
114124

115125
return organizations

src/ghastoolkit/octokit/octokit.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,11 @@ def postJson(
259259
return response.json()
260260

261261
def patchJson(
262-
self, path: str, data: dict, expected: int = 200, parameters={}
262+
self,
263+
path: str,
264+
data: dict,
265+
expected: Optional[Union[int, list[int]]] = 200,
266+
parameters={},
263267
) -> dict:
264268
repo = self.repository or GitHub.repository
265269
if not repo:
@@ -270,13 +274,16 @@ def patchJson(
270274

271275
response = self.session.patch(url, json=data)
272276

273-
if response.status_code != expected:
274-
logger.error(f"Error code from server :: {response.status_code}")
275-
logger.error(f"{response.content}")
276-
known_error = __OCTOKIT_ERRORS__.get(response.status_code)
277-
if known_error:
278-
raise Exception(known_error)
279-
raise Exception("Failed to patch data")
277+
if expected:
278+
if (isinstance(expected, int) and response.status_code != expected) or (
279+
isinstance(expected, list) and response.status_code not in expected
280+
):
281+
logger.error(f"Error code from server :: {response.status_code}")
282+
logger.error(f"{response.content}")
283+
known_error = __OCTOKIT_ERRORS__.get(response.status_code)
284+
if known_error:
285+
raise Exception(known_error)
286+
raise Exception("Failed to patch data")
280287

281288
return response.json()
282289

0 commit comments

Comments
 (0)