diff options
-rw-r--r-- | github3/api.py | 20 | ||||
-rw-r--r-- | github3/core.py | 7 |
2 files changed, 22 insertions, 5 deletions
diff --git a/github3/api.py b/github3/api.py index c3a176f..78b7c04 100644 --- a/github3/api.py +++ b/github3/api.py @@ -48,14 +48,28 @@ class GithubCore(object): return (settings.base_url + resource) + def _requests_pre_hook(*args, **kwargs): + return args, kwargs + + def _get_http_resource(self, endpoint, params=None): url = self._generate_url(endpoint) - r = requests.get(url, params=params) + + args, kwargs = self._requests_pre_hook(url, params=params) + r = requests.get(*args, **kwargs) + r.raise_for_status() return r + def _patch_http_resource(self, endpoint, params=None): + + url = self._generate_url(endpoint) + r = requests.patch(url, params=params) + r.raise_for_status() + + return r def _get_resource(self, resource, obj, **kwargs): @@ -94,15 +108,13 @@ class Github(GithubCore): def get_user(self, username): - # return 'kennethreitz' """Get a single user.""" return self._get_resource(('users', username), User) - # return User() def get_me(self): """Get the authenticated user.""" - return self._get_resource(('users'), User) + return self._get_resource(('user'), User) diff --git a/github3/core.py b/github3/core.py index 0fdffd4..77c5c9e 100644 --- a/github3/core.py +++ b/github3/core.py @@ -22,9 +22,14 @@ def no_auth(): return gh -def basic_auth(): +def basic_auth(username, password): """Returns an authenticated Github object, via HTTP Basic.""" + def enable_auth(*args, **kwargs): + kwargs['auth'] = (username, password) + return args, kwargs + gh = Github() + gh._requests_pre_hook = enable_auth return gh
\ No newline at end of file |