@@ -95,14 +95,15 @@ class GogsRepo(GogsEntity):
95
95
An immutable representation of a Gogs repository
96
96
"""
97
97
98
- def __init__ (self , repo_id , owner , full_name , private , fork , default_branch ,
98
+ def __init__ (self , repo_id , owner , full_name , private , fork , parent , default_branch ,
99
99
empty , size , urls , permissions , json = {}):
100
100
super (GogsRepo , self ).__init__ (json = json )
101
101
self ._repo_id = repo_id
102
102
self ._owner = owner
103
103
self ._full_name = full_name
104
104
self ._private = private
105
105
self ._fork = fork
106
+ self ._parent = parent
106
107
self ._default_branch = default_branch
107
108
self ._empty = empty
108
109
self ._size = size
@@ -116,15 +117,18 @@ def from_json(parsed_json):
116
117
full_name = json_get (parsed_json , "full_name" )
117
118
private = json_get (parsed_json , "private" )
118
119
fork = json_get (parsed_json , "fork" )
120
+ parent = parsed_json .get ("parent" , None )
121
+ if parent :
122
+ parent = GogsRepo .from_json (parent )
119
123
default_branch = json_get (parsed_json , "default_branch" )
120
124
empty = parsed_json .get ("empty" , None )
121
125
size = parsed_json .get ("size" , None )
122
126
urls = GogsRepo .Urls (json_get (parsed_json , "html_url" ), json_get (parsed_json , "clone_url" ),
123
127
json_get (parsed_json , "ssh_url" ))
124
128
permissions = GogsRepo .Permissions .from_json (json_get (parsed_json , "permissions" ))
125
129
return GogsRepo (repo_id = repo_id , owner = owner , full_name = full_name , private = private , fork = fork ,
126
- default_branch = default_branch , empty = empty , size = size , urls = urls ,
127
- permissions = permissions , json = parsed_json )
130
+ parent = parent , default_branch = default_branch , empty = empty , size = size ,
131
+ urls = urls , permissions = permissions , json = parsed_json )
128
132
129
133
@property # named repo_id to avoid conflict with built-in id
130
134
def repo_id (self ):
@@ -171,6 +175,15 @@ def fork(self):
171
175
"""
172
176
return self ._fork
173
177
178
+ @property
179
+ def parent (self ):
180
+ """
181
+ Gets the repository's parent, when a fork
182
+
183
+ :rtype: GogsRepo
184
+ """
185
+ return self ._parent
186
+
174
187
@property
175
188
def default_branch (self ):
176
189
"""
0 commit comments