Skip to content

Commit 673c864

Browse files
author
Kenneth Reitz
committed
_patch_resource and and requests session
1 parent 9af936f commit 673c864

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

github3/api.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ class GithubCore(object):
2525
_rate_limit = None
2626
_rate_limit_remaining = None
2727

28+
def __init__(self):
29+
self.session = requests.session()
2830

2931
@staticmethod
3032
def _resource_serialize(o):
@@ -70,7 +72,7 @@ def _requests_post_hook(self, r):
7072
return r
7173

7274

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

7577
url = self._generate_url(endpoint)
7678

@@ -80,7 +82,9 @@ def _http_resource(self, verb, endpoint, params=None, authed=True):
8082
args = (verb, url)
8183
kwargs = {'params': params}
8284

83-
r = requests.request(*args, **kwargs)
85+
kwargs.update(etc)
86+
87+
r = self.session.request(*args, **kwargs)
8488
r = self._requests_post_hook(r)
8589

8690
# print self._ratelimit_remaining
@@ -97,6 +101,12 @@ def _get_resource(self, resource, obj, authed=True, **kwargs):
97101

98102
return obj.new_from_dict(item, gh=self)
99103

104+
def _patch_resource(self, resource, data, authed=True, **kwargs):
105+
r = self._http_resource('PATCH', resource, data=data, params=kwargs, authed=authed)
106+
msg = self._resource_deserialize(r.content)
107+
108+
return msg
109+
100110

101111
def _get_resources(self, resource, obj, authed=True, **kwargs):
102112

0 commit comments

Comments
 (0)