def get(self, **filters): matches = self.list(**filters) if not matches: raise NoSuchObject() if len(matches) > 1: raise MultipleObjectsReturned() # The API might return different results for a get and a list - we'll be safe and waste an API call here logger.debug("GET: %s", self.resource) return _get_by_url(self.client._session, path_join(self.client.host, matches.pop()["resource_uri"]))
def get(self, **filters): matches = self.list(**filters) if not matches: raise NoSuchObject() if len(matches) > 1: raise MultipleObjectsReturned() # The API might return different results for a get and a list - we'll be safe and waste an API call here logger.debug("GET: %s", self.resource) return _get_by_url( self.client._session, path_join(self.client.host, matches.pop()["resource_uri"]))
def create(self, **kwargs): logger.debug("CREATE: %s", self.resource) location = _create_object(self.client._session, self.client.host, path_join(self.client.base_api_path, self.resource), kwargs) return _get_by_url(self.client._session, location)
def create(self, **kwargs): logger.debug("CREATE: %s", self.resource) location = _create_object( self.client._session, self.client.host, path_join(self.client.base_api_path, self.resource), kwargs) return _get_by_url(self.client._session, location)