Source code for contentful_management.spaces_proxy
from .client_proxy import ClientProxy
from .space import Space
"""
contentful_management.spaces_proxy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This module implements the SpacesProxy class.
API reference: https://www.contentful.com/developers/docs/references/content-management-api/#/reference/spaces
:copyright: (c) 2018 by Contentful GmbH.
:license: MIT, see LICENSE for more details.
"""
[docs]class SpacesProxy(ClientProxy):
"""
API reference: https://www.contentful.com/developers/docs/references/content-management-api/#/reference/spaces
"""
def __init__(self, client):
super(SpacesProxy, self).__init__(client, None)
def __repr__(self):
return "<SpacesProxy>"
@property
def _resource_class(self):
return Space
[docs] def all(self, query=None, **kwargs):
"""
Gets all spaces.
"""
return super(SpacesProxy, self).all(query=query)
[docs] def find(self, space_id, query=None, **kwargs):
"""
Gets a space by ID.
"""
try:
self.space_id = space_id
return super(SpacesProxy, self).find(space_id, query=query)
finally:
self.space_id = None
[docs] def create(self, attributes=None, **kwargs):
"""
Creates a space with given attributes.
"""
if attributes is None:
attributes = {}
if 'default_locale' not in attributes:
attributes['default_locale'] = self.client.default_locale
return super(SpacesProxy, self).create(resource_id=None, attributes=attributes)
[docs] def delete(self, space_id):
"""
Deletes a space by ID.
"""
try:
self.space_id = space_id
return super(SpacesProxy, self).delete(space_id)
finally:
self.space_id = None