diff options
author | 2011-06-21 23:36:49 -0400 | |
---|---|---|
committer | 2011-06-21 23:36:49 -0400 | |
commit | e875a2c2d122c98ce086cac123a13e361095184d (patch) | |
tree | 74746b1c624b8983808778700b68a9060200840a /github3/core.py | |
parent | reqs (diff) | |
download | python-github3-e875a2c2d122c98ce086cac123a13e361095184d.tar.xz python-github3-e875a2c2d122c98ce086cac123a13e361095184d.zip |
clean slate
Diffstat (limited to 'github3/core.py')
-rw-r--r-- | github3/core.py | 114 |
1 files changed, 1 insertions, 113 deletions
diff --git a/github3/core.py b/github3/core.py index 73bbea2..fcee886 100644 --- a/github3/core.py +++ b/github3/core.py @@ -4,119 +4,7 @@ github3.core ~~~~~~~~~~~~ -This module contains the core GitHub 3 interface. +This module contains the core GitHub3 interface. """ - -from .api import API_URL, get -import json -import models -# TODO: switch to anyjson - - -class GitHub(object): - """Central GitHub object.""" - - rate_limit = None - rate_left = None - per_page = 30 - accept = 'application/vnd.github.v3+json' - - def __init__(self, apiurl=API_URL): - self.__basic_auth = None - - - def _get(self, *path, **kwargs): - """optional json=False, paged=False""" - - headers = {'Accept': self.accept} - - is_json = kwargs.get('json', False) - is_paged = kwargs.get('paged', False) - - r = get(*path, auth=self.__basic_auth, headers=headers) - - rate_left = r.headers.get('x-ratelimit-remaining', None) - rate_limit = r.headers.get('x-ratelimit-limit', None) - - if (rate_limit is not None) or (rate_left is not None): - self.rate_limit = rate_limit - self.rate_left = rate_left - - if is_json: - r = json.loads(r.content) - - if is_paged: - pass - # TODO: paged support (__iter__) - return r - - - - def auth(self, username, password): - self.__basic_auth = (username, password) - return self.logged_in - - - def oauth(self): - # TODO: oAuth - pass - - - @property - def logged_in(self): - r = self._get('') - print - - if r.status_code == 200 and self.__basic_auth: - return True - else: - return False - - def repo(self, username, reponame): - d = self._get('repos', username, '{0}.json'.format(reponame), json=True) - - - repo = models.Repo() - repo.from_dict(d) - - return repo - - -# { -# "has_downloads": true, -# "forks": 10, -# "url": "https://api.github.com/repos/kennethreitz/requests.json", -# "created_at": "2011-02-13T18:38:17Z", -# "watchers": 166, -# "description": "Python HTTP modules suck. This one doesn't.", -# "master_branch": "develop", -# "has_wiki": true, -# "open_issues": 5, -# "fork": false, -# "html_url": "https://github.com/kennethreitz/requests", -# "homepage": "http://pypi.python.org/pypi/requests/", -# "has_issues": true, -# "pushed_at": "2011-04-21T21:39:45Z", -# "language": "Python", -# "private": false, -# "size": 2748, -# "integrate_branch": null, -# "owner": { -# "email": "_@kennethreitz.com", -# "type": "User", -# "url": "https://api.github.com/users/kennethreitz.json", -# "login": "kennethreitz", -# "created_at": "2009-08-26T21:17:47Z", -# "gravatar_url": "https://secure.gravatar.com/avatar/2eccc4005572c1e2b12a9c00580bc86f?s=30&d=https://d3nwyuy0nl342s.cloudfront.net%2Fimages%2Fgravatars%2Fgravatar-140.png", -# "blog": "http://kennethreitz.com", -# "name": "Kenneth Reitz", -# "company": "NetApp, Inc", -# "location": "Washington, DC" -# }, -# "name": "requests" -# } - -# Default instance -github = GitHub()
\ No newline at end of file |