summaryrefslogtreecommitdiff
path: root/src/couch/resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/couch/resource.py')
-rw-r--r--src/couch/resource.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/couch/resource.py b/src/couch/resource.py
index da1e0dd..364bff4 100644
--- a/src/couch/resource.py
+++ b/src/couch/resource.py
@@ -3,17 +3,20 @@
from __future__ import unicode_literals
+from typing import Union, Tuple
import json
import requests
+
+
from couch import utils
from couch import exceptions
-class Resource(object):
- def __init__(self, base_url, full_commit=True, session=None,
- credentials=None, authmethod="session", verify=False):
+class Resource:
+ def __init__(self, base_url: str, full_commit: bool = True, session: Union[requests.sessions.Session, None] = None,
+ credentials: Union[Tuple[str, str], None] = None, authmethod: str = "session", verify: bool = False) -> None:
self.base_url = base_url
# self.verify = verify
@@ -31,7 +34,7 @@ class Resource(object):
self.session = session
self.session.verify = verify
- def _authenticate(self, credentials, method):
+ def _authenticate(self, credentials: Union[Tuple[str, str], None], method: str) -> None:
if not credentials:
return
@@ -50,11 +53,11 @@ class Resource(object):
else:
raise RuntimeError("Invalid authentication method")
- def __call__(self, *path):
+ def __call__(self, *path: str):
base_url = utils.urljoin(self.base_url, *path)
return self.__class__(base_url, session=self.session)
- def _check_result(self, response, result):
+ def _check_result(self, response, result) -> None:
try:
error = result.get('error', None)
reason = result.get('reason', None)
@@ -74,7 +77,7 @@ class Resource(object):
raise exceptions.BadRequest(reason or "Bad request")
raise exceptions.GenericError(result)
- def request(self, method, path, params=None, data=None,
+ def request(self, method, path: str, params=None, data=None,
headers=None, stream=False, **kwargs):
if headers is None:
@@ -112,17 +115,17 @@ class Resource(object):
return response, result
- def get(self, path=None, **kwargs):
+ def get(self, path: Union[str, None] = None, **kwargs):
return self.request("GET", path, **kwargs)
- def put(self, path=None, **kwargs):
+ def put(self, path: Union[str, None] = None, **kwargs):
return self.request("PUT", path, **kwargs)
- def post(self, path=None, **kwargs):
+ def post(self, path: Union[str, None] = None, **kwargs):
return self.request("POST", path, **kwargs)
- def delete(self, path=None, **kwargs):
+ def delete(self, path: Union[str, None] = None, **kwargs):
return self.request("DELETE", path, **kwargs)
- def head(self, path=None, **kwargs):
+ def head(self, path: Union[str, None] = None, **kwargs):
return self.request("HEAD", path, **kwargs)