def _update_metadata(function, metadata, output_path=None, **kwargs): metadata_dict = _load_metadata_dict(metadata) function(metadata_dict, **kwargs) validate(metadata_dict) if not isinstance(metadata, MetaData): metadata = MetaData() metadata.data = metadata_dict if output_path is not None: metadata.to_json(output_path) return metadata
def metad(): metadata = MetaData() metadata.data = { 'tables': [ { 'id': '1234', 'name': 'a_table', 'fields': [{ 'name': 'a_field', 'type': 'number', 'subtype': 'float' }, { 'name': 'some_field', 'type': 'number', 'subtype': 'float' }] }, { 'id': '4567', 'name': 'another_table', 'fields': [{ 'name': 'another_field', 'type': 'number', 'subtype': 'float' }, { 'name': 'some_other_field', 'type': 'number', 'subtype': 'float' }] }, ], } return metadata
def validate(metadata): metad = MetaData() metad.data = metadata metad.validate()