diff options
Diffstat (limited to 'src/couch/resource.py')
-rw-r--r-- | src/couch/resource.py | 27 |
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) |