Skip to content

Commit 27fec35

Browse files
committed
adding organization model and relevant helpers
1 parent 4e1f7b2 commit 27fec35

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

github3/api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ def get_repo(self, username, reponame):
156156
"""Get the authenticated user."""
157157
return self._get_resource(('repos', username, reponame), Repo)
158158

159+
def get_org(self, login):
160+
"""Get organization."""
161+
return self._get_resource(('orgs', login), Org)
159162

160163

161164
class ResponseError(Exception):

github3/models.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,10 @@ def __repr__(self):
9191
return '<user {0}>'.format(self.login)
9292

9393
def repos(self, limit=None):
94-
return self._gh._get_resources(('users', self.login, 'repos'), Repo)
94+
return self._gh._get_resources(('users', self.login, 'repos'), Repo)
95+
96+
def orgs(self):
97+
return self._gh._get_resources(('users', self.login, 'orgs'), Org)
9598

9699

97100
class CurrentUser(User):
@@ -110,6 +113,30 @@ def __repr__(self):
110113
def repos(self, limit=None):
111114
return self._gh._get_resources(('user', 'repos'), Repo)
112115

116+
def orgs(self):
117+
return self._gh._get_resources(('user', 'orgs'), Org)
118+
119+
120+
class Org(BaseResource):
121+
"""Github Organization object model."""
122+
123+
_strs = [
124+
'login', 'url', 'avatar_url', 'name', 'company', 'blog', 'location', 'email'
125+
'html_url', 'type']
126+
_ints = [
127+
'id', 'public_repos', 'public_gists', 'followers', 'following',
128+
'total_private_repos', 'owned_private_repos', 'private_gists', 'disk_usage',
129+
'collaborators']
130+
_dates = ['created_at']
131+
_map = {'plan': Plan}
132+
_writable = ['billing_email', 'blog', 'company', 'email', 'location', 'name']
133+
134+
def __repr__(self):
135+
return '<org {0}>'.format(self.login)
136+
137+
def repos(self, limit=None):
138+
return self._gh._get_resources(('orgs', self.login, 'repos'), Repo)
139+
113140

114141
class Repo(BaseResource):
115142
_strs = [

0 commit comments

Comments
 (0)