import json from manifold.manifoldapi import ManifoldAPI class MetaData: def __init__ (self, auth): self.auth=auth self.hash_by_subject={} def fetch (self): manifold_api = ManifoldAPI(self.auth) fields = ['table', 'column.column', 'column.description','column.header', 'column.title', 'column.unit', 'column.info_type', 'column.resource_type', 'column.value_type', 'column.allowed_values', 'column.platforms.platform', 'column.platforms.platform_url'] results = manifold_api.Get('metadata:table', [], [], fields) self.hash_by_subject = dict ( [ (result['table'], result) for result in results ] ) def to_json(self): return json.dumps(self.hash_by_subject) def details_by_subject (self, subject): return self.hash_by_subject[subject] def sorted_fields_by_subject (self, subject): return self.hash_by_subject[subject]['columns'].sort()