def get_datatype(type_name): dtype = caching.get_schema_datatype(type_name) if dtype is not None: return dtype dtype = get_schema_set()['datatypes'][type_name] # populate missing fields if 'url' not in dtype: dtype['url'] = '/sp.schema/datatypes/%s' % type_name if 'properties' not in dtype: dtype['properties'] = [] if 'specific_properties' not in dtype: dtype['specific_properties'] = [] if 'supertypes' not in dtype: dtype['supertypes'] = ['DataType'] if 'subtypes' not in dtype: dtype['subtypes'] = [] if 'id' not in dtype: dtype['id'] = type_name if 'label' not in dtype: dtype['label'] = dtype['id'] if 'comment' not in dtype: dtype['comment'] = dtype['label'] if 'comment_plain' not in dtype: dtype['comment_plain'] = dtype['comment'] if 'ancestors' not in dtype: dtype['ancestors'] = dtype['supertypes'] caching.set_schema_datatype(type_name, dtype) return dtype
def get_datatype(type_name): datatype = caching.get_schema_datatype(type_name) if datatype is not None: return datatype datatype = get_schema_set()["datatypes"][type_name] caching.set_schema_datatype(type_name, datatype) return datatype