Source code for cdh.rest.client.resources.options

from cdh.rest.client.operations import Operations


[docs]class ResourceOptions:
[docs] def __init__(self, meta, app_label): self.meta = meta self.resource = None self.path = None self.path_variables = [] self.fields = {} self.identifier_field = 'id' self.supported_operations = [ Operations.delete, Operations.get, Operations.put ] self.client_class = None self.default_return_resource = None self.default_send_as_json = False self.app_label = app_label
[docs] def contribute_to_class(self, cls, name): setattr(cls, name, self) self.resource = cls if self.meta: meta_attrs = self.meta.__dict__.copy() for key, value in meta_attrs.items(): if key in self.__dict__: self.__dict__[key] = value if not self.client_class: from ..clients import ResourceClient self.client_class = ResourceClient
[docs] def add_field(self, field): self.fields[field.name] = field
def __str__(self): return "{} for {}".format(self.__class__.__name__, self.resource)