class Resource(object): def __init__(self, client=None): self.client = client def all(self, data, **kwargs): return self.get_url(self.base_url, data, **kwargs) def fetch(self, id, data, **kwargs): url = "{}/{}".format(self.base_url, id) return self.get_url(url, data, **kwargs) def get_url(self, url, data, **kwargs): return self.client.get(url, data, **kwargs) def patch_url(self, url, data, **kwargs): return self.client.patch(url, data, **kwargs) def post_url(self, url, data, **kwargs): return self.client.post(url, data, **kwargs) def put_url(self, url, data, **kwargs): return self.client.put(url, data, **kwargs) def delete_url(self, url, data, **kwargs): return self.client.delete(url, data, **kwargs) def delete(self, id, data, **kwargs): url = "{}/{}/delete".format(self.base_url, id) return self.delete_url(url, data, **kwargs) def file_url(self, url, data, **kwargs): return self.client.file(url, data, **kwargs)