Fixed incorrect projest initialization code when createing a list of projects.

This commit is contained in:
2025-11-08 17:34:10 +01:00
parent 73a63d0605
commit def594d5b7

View File

@@ -96,7 +96,10 @@ class Organization():
def projects(self): def projects(self):
if not hasattr(self, "_projects"): if not hasattr(self, "_projects"):
# Create Project objects # Create Project objects
self._projects = [Project(org=self, **proj) for proj in self.get_path("_apis/projects").json().get("value", [])] self._projects = []
for proj in self.get_path("_apis/projects").json().get("value", []):
p = Project(org=self, **proj)
self._projects.append(p)
return self._projects return self._projects
def __getitem__(self, key: str) -> Project: def __getitem__(self, key: str) -> Project:
@@ -151,7 +154,12 @@ class Project():
@property @property
def repositories(self): def repositories(self):
if not hasattr(self, "_repositories"): if not hasattr(self, "_repositories"):
self._repositories = [Repository(org=self._org, **repo) for repo in self._org.get_path(f"{self._id}/_apis/git/repositories").json().get("value", [])] self._repositories = []
for repo in self._org.get_path(f"{self._id}/_apis/git/repositories").json().get("value", []):
# Remove unnecessary nested project info
if "project" in repo:
del repo["project"]
self._repositories.append(Repository(project=self, **repo))
return self._repositories return self._repositories
def __getitem__(self, key: str) -> Repository: def __getitem__(self, key: str) -> Repository:
@@ -271,8 +279,8 @@ class Item():
raise ValueError("Child items can only be fetched for folder items.") raise ValueError("Child items can only be fetched for folder items.")
# Fetch child objects # Fetch child objects
objects = self._repository._project.organization.get_path( objects = self._repository.project.organization.get_path(
path=f"{self._repository._project.id}/_apis/git/repositories/{self._repository.id}/items", path=f"{self._repository.project.id}/_apis/git/repositories/{self._repository.id}/items",
params={ params={
"scopePath": self.path, "scopePath": self.path,
"recursionLevel": "oneLevel" "recursionLevel": "oneLevel"