Beispiel #1
0
 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"]))
Beispiel #2
0
 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"]))
Beispiel #3
0
 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)
Beispiel #4
0
 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)