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

from django.core.exceptions import ImproperlyConfigured

from ..operations import Operations


[docs]class ResourceCollectionOptions:
[docs] def __init__(self, meta, app_label): self.meta = meta self.collection = None self.resource = None self.path = None self.path_variables = [] self.operation = Operations.get self.client_class = None self.app_label = app_label
[docs] def contribute_to_class(self, cls, name): setattr(cls, name, self) self.collection = 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.resource: raise ImproperlyConfigured( "Collections need to have a resources configured in its " "Meta class" ) if not self.client_class: from ..clients import CollectionClient self.client_class = CollectionClient
def __str__(self): return "{} for {}".format(self.__class__.__name__, self.collection)
[docs]class TypeCollectionOptions:
[docs] def __init__(self, meta, app_label): self.meta = meta self.collection = None self.path = None self.path_variables = [] self.operation = Operations.get self.client_class = None self.app_label = app_label
[docs] def contribute_to_class(self, cls, name): setattr(cls, name, self) self.collection = 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 CollectionClient self.client_class = CollectionClient
def __str__(self): return "{} for {}".format(self.__class__.__name__, self.collection)