aboutsummaryrefslogtreecommitdiffstats
path: root/github3/models.py
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2011-07-24 17:44:51 -0400
committerKenneth Reitz <me@kennethreitz.com>2011-07-24 17:44:51 -0400
commit4affea87785cd88622b06b0fd2e79909b399232d (patch)
tree6bea854eef9f1658c591bb67e0521406adb18c30 /github3/models.py
parentrate limiting (diff)
downloadpython-github3-4affea87785cd88622b06b0fd2e79909b399232d.tar.xz
python-github3-4affea87785cd88622b06b0fd2e79909b399232d.zip
repo model
Diffstat (limited to 'github3/models.py')
-rw-r--r--github3/models.py38
1 files changed, 27 insertions, 11 deletions
diff --git a/github3/models.py b/github3/models.py
index fcaf184..224710f 100644
--- a/github3/models.py
+++ b/github3/models.py
@@ -77,32 +77,48 @@ class Plan(BaseResource):
class User(BaseResource):
"""Github User object model."""
- _strings = [
+ _strs = [
'login','gravatar_url', 'url', 'name', 'company', 'blog', 'location',
'email', 'bio', 'html_url']
_ints = ['id', 'public_repos', 'public_gists', 'followers', 'following']
_dates = ['created_at',]
_bools = ['hireable', ]
- _map = {}
- _writeable = []
+ # _map = {}
+ # _writeable = []
def __repr__(self):
return '<user {0}>'.format(self.login)
+ def repos(self):
+ # return self._gh.get_repos(username=self.login)
+ repos = self._gh._get_resources(('users', self.login, 'repos'), Repo, authed=False)
+ return repos
-class CurrentUser(BaseResource):
- """Github Current User object model."""
- _strings = [
- 'login','gravatar_url', 'url', 'name', 'company', 'blog', 'location',
- 'email', 'bio', 'html_url']
+class CurrentUser(User):
+ """Github Current User object model."""
- _ints = ['id', 'public_repos', 'public_gists', 'followers', 'following', 'total_private_repos', 'owned_private_repos', 'private_gists', 'disk_usage', 'collaborators']
- _dates = ['created_at',]
- _bools = ['hireable', ]
+ _ints = [
+ 'id', 'public_repos', 'public_gists', 'followers', 'following',
+ 'total_private_repos', 'owned_private_repos', 'private_gists',
+ 'disk_usage', 'collaborators']
_map = {'plan': Plan}
_writeable = ['name', 'email', 'blog', 'company', 'location', 'hireable', 'bio']
def __repr__(self):
return '<current-user {0}>'.format(self.login)
+
+
+class Repo(BaseResource):
+ _strs = [
+ 'url', 'html_url', 'clone_url', 'git_url', 'ssh_url', 'svn_url',
+ 'name', 'description', 'homepage', 'language', 'master_branch']
+ _bools = ['private', 'fork']
+ _ints = ['forks', 'watchers', 'size',]
+ _dates = ['pushed_at', 'created_at']
+ _map = {'owner': User}
+
+ def __repr__(self):
+ return '<repo {0}/{1}>'.format(self.owner.login, self.name)
+ # owner