def remove_resource(owner_name, dataset_name, resource_owner, resource_name): dataset = find(owner_name, dataset_name) require.dataset.remove_resource(dataset) res = resource.find(resource_owner, resource_name) if res in dataset.resources: dataset.resources.remove(res) event_ = DatasetRemoveResourceEvent(dataset.owner, dataset, res) event.emit(event_, [dataset, res]) db.session.commit()
def add_resource(owner_name, dataset_name, data, in_tx=False): dataset = find(owner_name, dataset_name) require.dataset.add_resource(dataset) data = NodeReference().to_python(data) res = resource.find(data['owner'], data['name']) if not res in dataset.resources: dataset.resources.append(res) event_ = DatasetAddResourceEvent(current_user, dataset, res) event.emit(event_, [dataset, res]) if not in_tx: db.session.commit()