Source code for contentful_management.taxonomy_concept_scheme

from .resource import Resource


[docs]class TaxonomyConceptScheme(Resource): """ API reference: https://www.contentful.com/developers/docs/references/content-management-api/#/reference/taxonomy/concept-scheme """ def __init__(self, item, **kwargs): super(TaxonomyConceptScheme, self).__init__(item, **kwargs) self.uri = item.get('uri', '') self.pref_label = item.get('prefLabel', {}) self.definition = item.get('definition', {}) self.top_concepts = item.get('topConcepts', []) self.concepts = item.get('concepts', []) self.total_concepts = item.get('totalConcepts', 0)
[docs] @classmethod def create_attributes(klass, attributes, previous_object=None): """ Attributes for taxonomy concept scheme creation. """ if previous_object is not None: attributes_map = { 'uri': attributes.get('uri', previous_object.uri), 'prefLabel': attributes.get('prefLabel', previous_object.pref_label), 'definition': attributes.get('definition', previous_object.definition), 'topConcepts': attributes.get('topConcepts', previous_object.top_concepts), 'concepts': attributes.get('concepts', previous_object.concepts) } else: attributes_map = { 'uri': attributes.get('uri', ''), 'prefLabel': attributes.get('prefLabel', {}), 'definition': attributes.get('definition', {}), 'topConcepts': attributes.get('topConcepts', []), 'concepts': attributes.get('concepts', []) } if 'uri' in attributes_map and not attributes_map['uri']: del attributes_map['uri'] return attributes_map
[docs] def to_json(self): """ Returns the JSON representation of the taxonomy concept scheme. """ result = super(TaxonomyConceptScheme, self).to_json() result.update({ 'uri': self.uri, 'prefLabel': self.pref_label, 'definition': self.definition, 'topConcepts': self.top_concepts, 'concepts': self.concepts, 'totalConcepts': self.total_concepts }) return result
def __repr__(self): return f"<TaxonomyConceptScheme id='{self.sys.get('id', '')}'>"