diff options
author | 2011-04-13 19:13:24 -0400 | |
---|---|---|
committer | 2011-04-13 19:13:24 -0400 | |
commit | 4a173283eb55d7405bc56c75e47e94b2eb294795 (patch) | |
tree | 2888f33f8d7e27d88a6cca1da6a36e46b1f5c899 /api.py | |
parent | basic models (diff) | |
download | python-github3-4a173283eb55d7405bc56c75e47e94b2eb294795.tar.xz python-github3-4a173283eb55d7405bc56c75e47e94b2eb294795.zip |
move api
Diffstat (limited to 'api.py')
-rw-r--r-- | api.py | 86 |
1 files changed, 0 insertions, 86 deletions
@@ -1,86 +0,0 @@ -# -*- coding: utf-8 -*- -""" - github3.api - ~~~~~~~~~~~ - - This module implements the GitHub3 API wrapper objects. - - :copyright: (c) 2011 by Kenneth Reitz. - :license: ISC, see LICENSE for more details. -""" - -from convore.packages.anyjson import deserialize - -import requests - -from . import models - - - -API_URL = 'https://api.github.com' -AUTH = None - -# ======= -# Helpers -# ======= - -def _safe_response(r, error=None): - try: - r.raise_for_status() - return r - except requests.HTTPError: - if r.status_code == 401: - raise LoginFailed - else: - raise APIError(error) if error else APIError - - -def get(*path, **kwargs): - """ - Accepts optional error parameter, which will be passed in the event of a - non-401 HTTP error. - - api.get('groups') - api.get('groups', 'id') - api.get('accounts', 'verify') - """ - url = '%s%s%s' % (API_URL, '/'.join(map(str, path)), '.json') - - params = kwargs.get('params', None) - - r = requests.get(url, params=params, auth=auth) - - error = kwargs.get('error', None) - return _safe_response(r, error) - - -def post(params, *path): - - url = '%s%s%s' % (API_URL, '/'.join(map(str, path)), '.json') - r = requests.post(url, params=params, auth=auth) - return _safe_response(r) - - -# ========== -# Exceptions -# ========== - -class LoginFailed(RuntimeError): - """Login falied!""" - -class APIError(RuntimeError): - """There was a problem properly accessing the Convore API.""" - - - -def login(username, password): - """Configured API Credentials""" - global auth - - auth = (username, password) - # print requests.auth_manager.__dict__ - -# ========== -# End Points -# ========== - |