mirror of
https://github.com/kennethreitz/python-github3.git
synced 2026-06-05 23:10:17 +00:00
is_authenticated
This commit is contained in:
+14
-14
@@ -16,6 +16,8 @@ from .config import settings
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
from decorator import decorator
|
||||||
|
|
||||||
|
|
||||||
class GithubCore(object):
|
class GithubCore(object):
|
||||||
|
|
||||||
@@ -52,29 +54,26 @@ class GithubCore(object):
|
|||||||
return args, kwargs
|
return args, kwargs
|
||||||
|
|
||||||
|
|
||||||
def _get_http_resource(self, endpoint, params=None):
|
def _http_resource(self, verb, endpoint, params=None, authed=True):
|
||||||
|
|
||||||
url = self._generate_url(endpoint)
|
url = self._generate_url(endpoint)
|
||||||
|
|
||||||
args, kwargs = self._requests_pre_hook(url, params=params)
|
if authed:
|
||||||
r = requests.get(*args, **kwargs)
|
args, kwargs = self._requests_pre_hook(verb, url, params=params)
|
||||||
|
else:
|
||||||
|
args = (verb, url)
|
||||||
|
kwargs = {'params': params}
|
||||||
|
|
||||||
|
r = requests.request(*args, **kwargs)
|
||||||
|
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
|
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def _patch_http_resource(self, endpoint, params=None):
|
|
||||||
|
|
||||||
url = self._generate_url(endpoint)
|
def _get_resource(self, resource, obj, authed=True, **kwargs):
|
||||||
r = requests.patch(url, params=params)
|
|
||||||
r.raise_for_status()
|
|
||||||
|
|
||||||
return r
|
r = self._http_resource('GET', resource, params=kwargs, authed=authed)
|
||||||
|
|
||||||
|
|
||||||
def _get_resource(self, resource, obj, **kwargs):
|
|
||||||
|
|
||||||
r = self._get_http_resource(resource, params=kwargs)
|
|
||||||
item = self._resource_deserialize(r.content)
|
item = self._resource_deserialize(r.content)
|
||||||
|
|
||||||
return obj.new_from_dict(item, gh=self)
|
return obj.new_from_dict(item, gh=self)
|
||||||
@@ -105,11 +104,12 @@ class Github(GithubCore):
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(Github, self).__init__()
|
super(Github, self).__init__()
|
||||||
|
self.is_authenticated = False
|
||||||
|
|
||||||
|
|
||||||
def get_user(self, username):
|
def get_user(self, username):
|
||||||
"""Get a single user."""
|
"""Get a single user."""
|
||||||
return self._get_resource(('users', username), User)
|
return self._get_resource(('users', username), User, authed=False)
|
||||||
|
|
||||||
|
|
||||||
def get_me(self):
|
def get_me(self):
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ def basic_auth(username, password):
|
|||||||
return args, kwargs
|
return args, kwargs
|
||||||
|
|
||||||
gh = Github()
|
gh = Github()
|
||||||
|
gh.is_authenticated = True
|
||||||
gh._requests_pre_hook = enable_auth
|
gh._requests_pre_hook = enable_auth
|
||||||
|
|
||||||
return gh
|
return gh
|
||||||
Reference in New Issue
Block a user