Skip to content

Commit 68ba47c

Browse files
author
Kenneth Reitz
committed
proper requests authentication
1 parent 59b7dd6 commit 68ba47c

4 files changed

Lines changed: 17 additions & 30 deletions

File tree

github3/api.py

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ class GithubCore(object):
2727

2828
def __init__(self):
2929
self.session = requests.session()
30+
self.session.params = {'per_page': 100}
31+
3032

3133
@staticmethod
3234
def _resource_serialize(o):
@@ -57,12 +59,6 @@ def _generate_url(endpoint):
5759
return (settings.base_url + resource)
5860

5961

60-
def _requests_pre_hook(*args, **kwargs):
61-
"""Pre-processing for HTTP requests arguments."""
62-
63-
return args, kwargs
64-
65-
6662
def _requests_post_hook(self, r):
6763
"""Post-processing for HTTP response objects."""
6864

@@ -72,18 +68,18 @@ def _requests_post_hook(self, r):
7268
return r
7369

7470

75-
def _http_resource(self, verb, endpoint, params=None, authed=True, **etc):
71+
def _http_resource(self, verb, endpoint, params=None, **etc):
7672

7773
url = self._generate_url(endpoint)
74+
# print self.session.__dict__
7875

79-
if authed:
80-
args, kwargs = self._requests_pre_hook(verb, url, params=params)
81-
else:
82-
args = (verb, url)
83-
kwargs = {'params': params}
76+
args = (verb, url)
77+
kwargs = {'params': params}
8478

8579
kwargs.update(etc)
8680

81+
print self.session.__dict__
82+
8783
r = self.session.request(*args, **kwargs)
8884
r = self._requests_post_hook(r)
8985

@@ -94,23 +90,23 @@ def _http_resource(self, verb, endpoint, params=None, authed=True, **etc):
9490
return r
9591

9692

97-
def _get_resource(self, resource, obj, authed=True, **kwargs):
93+
def _get_resource(self, resource, obj, **kwargs):
9894

99-
r = self._http_resource('GET', resource, params=kwargs, authed=authed)
95+
r = self._http_resource('GET', resource, params=kwargs)
10096
item = self._resource_deserialize(r.content)
10197

10298
return obj.new_from_dict(item, gh=self)
10399

104-
def _patch_resource(self, resource, data, authed=True, **kwargs):
105-
r = self._http_resource('PATCH', resource, data=data, params=kwargs, authed=authed)
100+
def _patch_resource(self, resource, data, **kwargs):
101+
r = self._http_resource('PATCH', resource, data=data, params=kwargs)
106102
msg = self._resource_deserialize(r.content)
107103

108104
return msg
109105

110106

111-
def _get_resources(self, resource, obj, authed=True, **kwargs):
107+
def _get_resources(self, resource, obj, **kwargs):
112108

113-
r = self._http_resource('GET', resource, params=kwargs, authed=authed)
109+
r = self._http_resource('GET', resource, params=kwargs)
114110
d_items = self._resource_deserialize(r.content)
115111

116112
items = []

github3/core.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,9 @@ def no_auth():
2929
def basic_auth(username, password):
3030
"""Returns an authenticated Github object, via HTTP Basic."""
3131

32-
def enable_auth(*args, **kwargs):
33-
kwargs['auth'] = (username, password)
34-
return args, kwargs
35-
3632
gh = Github()
3733
gh.is_authenticated = True
38-
gh._requests_pre_hook = enable_auth
34+
gh.session.auth = (username, password)
3935

4036
return gh
4137

github3/models.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def new_from_dict(cls, d, gh=None):
5959
_gh = gh
6060
)
6161

62+
6263
def update(self):
6364
deploy = key_diff(self._cache, self.dict(), pack=True)
6465

@@ -69,12 +70,6 @@ def update(self):
6970
return r
7071

7172

72-
73-
def setattr(self, k, v):
74-
# TODO: when writable key changed,
75-
pass
76-
77-
7873
class Plan(BaseResource):
7974
"""Github Plan object model."""
8075

reqs.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
requests==0.6.4
1+
requests==0.6.5
22
python-dateutil==2.0
33
decorator==3.3.1
44
envoy==0.0.2

0 commit comments

Comments
 (0)