def serve(dataset, name): dataset = get_dataset(dataset) package = data_manager.package(dataset.name) source = Source(package, name) if source.url is not None: return redirect(source.url) return send_file(source.fh(), mimetype=source.meta.get('mime_type'))
def transform_source(job, dataset, source_name): """ Transform the contents of an uploaded source dataset to a well-understood file format. """ source = Source(job.package, source_name) job.set_source(source) source = validate_table(source) if source.meta.get('num_failed') > 0: return job.failed() return source
def load(dataset, name): dataset = get_dataset(dataset) require.dataset.update(dataset) package = data_manager.package(dataset.name) source = Source(package, name) if not source.exists(): raise BadRequest('Source does not exist.') load_from_source.delay(dataset.name, source.name) return jsonify({'status': 'ok'})
def transform_source(job, dataset, source_name): """ Transform the contents of an uploaded source dataset to a well-understood file format. """ source = Source(job.package, source_name) job.set_source(source) table = Table(job.package, ARTIFACT_NAME) table.meta.update(source.meta) table = extract_table(source, table) return table
def load(job, dataset, source_name): """ Load the table artifact for this dataset into the fact table. """ source = Source(job.package, source_name) job.set_source(source) dataset.data = {} dataset.fields = source.meta.get('fields', {}) if not len(dataset.fields): raise ValueError('No columns recognized in source data.') db.session.commit() dataset.fact_table.drop() dataset.fact_table.create() dataset.fact_table.load_iter(load_table(source))
def view(dataset, name): dataset = get_dataset(dataset) package = data_manager.package(dataset.name) source = Source(package, name) return jsonify(source_to_dict(dataset, source))