Skip to content

Commit ddba2ac

Browse files
committed
Adds parent property of repo endpoint
Signed-off-by: Guyzmo <[email protected]>
1 parent 1241935 commit ddba2ac

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

gogs_client/entities.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,15 @@ class GogsRepo(GogsEntity):
9595
An immutable representation of a Gogs repository
9696
"""
9797

98-
def __init__(self, repo_id, owner, full_name, private, fork, parent_id, default_branch,
98+
def __init__(self, repo_id, owner, full_name, private, fork, parent, default_branch,
9999
empty, size, urls, permissions, json={}):
100100
super(GogsRepo, self).__init__(json=json)
101101
self._repo_id = repo_id
102102
self._owner = owner
103103
self._full_name = full_name
104104
self._private = private
105105
self._fork = fork
106-
self._parent_id = parent_id
106+
self._parent = parent
107107
self._default_branch = default_branch
108108
self._empty = empty
109109
self._size = size
@@ -117,15 +117,17 @@ def from_json(parsed_json):
117117
full_name = json_get(parsed_json, "full_name")
118118
private = json_get(parsed_json, "private")
119119
fork = json_get(parsed_json, "fork")
120-
parent_id = parsed_json.get("parent_id", None)
120+
parent = parsed_json.get("parent", None)
121+
if parent:
122+
parent = GogsRepo.from_json(parent)
121123
default_branch = json_get(parsed_json, "default_branch")
122124
empty = parsed_json.get("empty", None)
123125
size = parsed_json.get("size", None)
124126
urls = GogsRepo.Urls(json_get(parsed_json, "html_url"), json_get(parsed_json, "clone_url"),
125127
json_get(parsed_json, "ssh_url"))
126128
permissions = GogsRepo.Permissions.from_json(json_get(parsed_json, "permissions"))
127129
return GogsRepo(repo_id=repo_id, owner=owner, full_name=full_name, private=private, fork=fork,
128-
parent_id=parent_id, default_branch=default_branch, empty=empty, size=size,
130+
parent=parent, default_branch=default_branch, empty=empty, size=size,
129131
urls=urls, permissions=permissions, json=parsed_json)
130132

131133
@property # named repo_id to avoid conflict with built-in id
@@ -174,13 +176,13 @@ def fork(self):
174176
return self._fork
175177

176178
@property
177-
def parent_id(self):
179+
def parent(self):
178180
"""
179181
Gets the repository's parent, when a fork
180182
181-
:rtype: int
183+
:rtype: GogsRepo
182184
"""
183-
return self.parent_id
185+
return self._parent
184186

185187
@property
186188
def default_branch(self):

tests/interface_test.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def setUp(self):
2626
"full_name": "unknwon/Hello-World",
2727
"private": false,
2828
"fork": false,
29-
"parent_id": null,
29+
"parent": null,
3030
"default_branch": "master",
3131
"empty": false,
3232
"size": 42,
@@ -51,7 +51,7 @@ def setUp(self):
5151
"full_name": "unknwon/Hello-World",
5252
"private": false,
5353
"fork": false,
54-
"parent_id": null,
54+
"parent": null,
5555
"default_branch": "master",
5656
"empty": false,
5757
"size": 42,
@@ -75,7 +75,7 @@ def setUp(self):
7575
"full_name": "unknwon/Hello-World-Again",
7676
"private": false,
7777
"fork": false,
78-
"parent_id": null,
78+
"parent": null,
7979
"default_branch": "master",
8080
"empty": false,
8181
"size": 42,
@@ -590,7 +590,7 @@ def assert_repos_equal(self, repo, expected):
590590
self.assertEqual(repo.full_name, expected.full_name)
591591
self.assertEqual(repo.private, expected.private)
592592
self.assertEqual(repo.fork, expected.fork)
593-
self.assertEqual(repo.parent_id, expected.parent_id)
593+
self.assertEqual(repo.parent, expected.parent)
594594
self.assertEqual(repo.default_branch, expected.default_branch)
595595
self.assertEqual(repo.size, expected.size)
596596
self.assertEqual(repo.empty, expected.empty)

0 commit comments

Comments
 (0)