aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/services/base.py
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-02-05 12:29:14 +0100
committerDavid Medina <davidmedina9@gmail.com>2012-02-05 12:29:14 +0100
commit7f2ce93f89785aaf0b4453653012e96e95ff940f (patch)
treefb2288714996deb1b7995ef022072a4581340759 /pygithub3/services/base.py
parentAdded asserts to "that never happens" (diff)
downloadpython-github3-7f2ce93f89785aaf0b4453653012e96e95ff940f.tar.xz
python-github3-7f2ce93f89785aaf0b4453653012e96e95ff940f.zip
Complete skeleton of services glueing to requests
Diffstat (limited to 'pygithub3/services/base.py')
-rw-r--r--pygithub3/services/base.py26
1 files changed, 23 insertions, 3 deletions
diff --git a/pygithub3/services/base.py b/pygithub3/services/base.py
index 98969c6..f124e42 100644
--- a/pygithub3/services/base.py
+++ b/pygithub3/services/base.py
@@ -4,6 +4,7 @@
from pygithub3.core.client import Client
from pygithub3.core.result import Result
from pygithub3.core.ghrequests import Factory
+from pygithub3.core.errors import NotFound
class Base(object):
@@ -24,19 +25,38 @@ class Base(object):
def set_repo(self, repo):
self.client.repo = repo
- def config_request(self, **kwargs):
+ def _config_request(self, **kwargs):
self.get_request.config_with(**kwargs)
+ def _bool(self, request_uri, **kwargs):
+ request = self.get_request(request_uri)
+ try:
+ self.client.head(request, **kwargs)
+ return True
+ except NotFound:
+ return False
+
+ def _patch(self, request_uri, **kwargs):
+ request = self.get_request(request_uri)
+ resource = request.get_resource()
+ input_data = request.get_data()
+ response = self.client.patch(request, data=input_data, **kwargs)
+ return resource.loads(response.content)
+
+ def _put(self, request_uri, **kwargs):
+ request = self.get_request(request_uri)
+ self.client.put(request, **kwargs)
+
def _delete(self, request_uri, **kwargs):
request = self.get_request(request_uri)
input_data = request.get_data()
- self.client.delete(request, data=input_data)
+ self.client.delete(request, data=input_data, **kwargs)
def _post(self, request_uri, **kwargs):
request = self.get_request(request_uri)
resource = request.get_resource()
input_data = request.get_data()
- response = self.client.post(request, data=input_data)
+ response = self.client.post(request, data=input_data, **kwargs)
return resource.loads(response.content)
def _get(self, request_uri, **kwargs):