adding organization model and relevant helpers

This commit is contained in:
Rok Garbas
2011-08-24 05:19:28 +02:00
parent 4e1f7b2ad7
commit 27fec35b1f
2 changed files with 31 additions and 1 deletions
+3
View File
@@ -156,6 +156,9 @@ class Github(GithubCore):
"""Get the authenticated user."""
return self._get_resource(('repos', username, reponame), Repo)
def get_org(self, login):
"""Get organization."""
return self._get_resource(('orgs', login), Org)
class ResponseError(Exception):
+28 -1
View File
@@ -91,7 +91,10 @@ class User(BaseResource):
return '<user {0}>'.format(self.login)
def repos(self, limit=None):
return self._gh._get_resources(('users', self.login, 'repos'), Repo)
return self._gh._get_resources(('users', self.login, 'repos'), Repo)
def orgs(self):
return self._gh._get_resources(('users', self.login, 'orgs'), Org)
class CurrentUser(User):
@@ -110,6 +113,30 @@ class CurrentUser(User):
def repos(self, limit=None):
return self._gh._get_resources(('user', 'repos'), Repo)
def orgs(self):
return self._gh._get_resources(('user', 'orgs'), Org)
class Org(BaseResource):
"""Github Organization object model."""
_strs = [
'login', 'url', 'avatar_url', 'name', 'company', 'blog', 'location', 'email'
'html_url', 'type']
_ints = [
'id', 'public_repos', 'public_gists', 'followers', 'following',
'total_private_repos', 'owned_private_repos', 'private_gists', 'disk_usage',
'collaborators']
_dates = ['created_at']
_map = {'plan': Plan}
_writable = ['billing_email', 'blog', 'company', 'email', 'location', 'name']
def __repr__(self):
return '<org {0}>'.format(self.login)
def repos(self, limit=None):
return self._gh._get_resources(('orgs', self.login, 'repos'), Repo)
class Repo(BaseResource):
_strs = [