aboutsummaryrefslogtreecommitdiffstats
path: root/github3/models/user.py
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2011-11-01 12:30:25 +0100
committerDavid Medina <davidmedina9@gmail.com>2011-11-01 12:30:25 +0100
commitb17dbea56f59aa5403e5722e12878c7183742551 (patch)
treeea02535e78ae2c59d9099850e5ab2d4b1d044f10 /github3/models/user.py
parentWip on handlers (diff)
downloadpython-github3-b17dbea56f59aa5403e5722e12878c7183742551.tar.xz
python-github3-b17dbea56f59aa5403e5722e12878c7183742551.zip
Decouple Handlers and Models
Handler User complete
Diffstat (limited to 'github3/models/user.py')
-rw-r--r--github3/models/user.py49
1 files changed, 12 insertions, 37 deletions
diff --git a/github3/models/user.py b/github3/models/user.py
index cdbd04f..d58d9b2 100644
--- a/github3/models/user.py
+++ b/github3/models/user.py
@@ -5,18 +5,25 @@
from .base import BaseResource
+class Plan(BaseResource):
+ """Github Plan object model."""
+
+ _strs = ['name']
+ _ints = ['space', 'collaborators', 'private_repos']
+
+ def __repr__(self):
+ return '<Plan {0}>'.format(str(self.name))
+
class User(BaseResource):
"""Github User object model."""
_strs = [
'login','avatar_url', 'url', 'name', 'company', 'blog', 'location',
- 'email', 'bio', 'html_url']
+ 'email', 'bio', 'html_url', 'type']
_ints = ['id', 'public_repos', 'public_gists', 'followers', 'following']
_dates = ['created_at',]
_bools = ['hireable', ]
- # _map = {}
- # _writeable = []
@property
def ri(self):
@@ -25,26 +32,8 @@ class User(BaseResource):
def __repr__(self):
return '<User {0}>'.format(self.login)
- @property
def handler(self):
- return self._gh.user_handler(self.login)
-
- def get_followers(self, limit=None):
- return self.handler.followers(limit)
-
- def get_following(self, limit=None):
- return self.handler.following(limit)
-
- def repos(self, limit=None):
- return self._gh._get_resources(('users', self.login, 'repos'), Repo, limit=limit)
- def repo(self, reponame):
- return self._gh._get_resource(('repos', self.login, reponame), Repo)
-
- def orgs(self):
- return self._gh._get_resources(('users', self.login, 'orgs'), Org)
-
- def gists(self):
- return self._gh._get_resources(('users', self.login, 'gists'), Gist)
+ return self._gh.user_handler(self.login, force=True)
class AuthUser(User):
"""Github Current User object model."""
@@ -61,19 +50,5 @@ class AuthUser(User):
return ('user',)
def __repr__(self):
- return '<current-user {0}>'.format(self.login)
-
- def repos(self, limit=None):
- return self._gh._get_resources(('user', 'repos'), Repo, limit=limit)
-
- def repo(self, reponame):
- return self._gh._get_resource(('repos', self.login, reponame), Repo)
-
- def orgs(self, limit=None):
- return self._gh._get_resources(('user', 'orgs'), Org, limit=limit)
-
- def org(self, orgname):
- return self._gh._get_resource(('orgs', orgname), Org)
+ return '<AuthUser {0}>'.format(self.login)
- def gists(self, limit=None):
- return self._gh._get_resources('gists', Gist, limit=limit)